21 PagerTabStrip-PagerTitleStrip-viewPager
- PagerTabStrip:可以点击跳转到对应viewPager界面
- PagerTitleStrip:不可点击
在eclipse开发时如果目标版本为API23那么会有不显示的问题
- 解决:更换v4包
解决: 在Activiry的oncreate方法中添加如下代码
((ViewPager.LayoutParams) tabStrip.getLayoutParams()).isDecor = true;(我试了下我的不行但网上有说可以)
- studio开发貌似可以
文件结构:
MainActivity.java
package com.qf.day21_fragmentpagertabstrip_demo2;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private PagerTabStrip pagerTabStrip;
private PagerTitleStrip pagerTitleStrip;
private ViewPager viewPager;
private List<Fragment> list = new ArrayList<Fragment>();
private String[] titles ={"新闻","娱乐","军事","体育"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewPager);
//pagerTabStrip = (PagerTabStrip) findViewById(R.id.pagertabStrip);
initData();
//setPagertabStrip();
viewPager.setAdapter(new MyFragmentpagerAdapter(getSupportFragmentManager()));
}
/**
* 设置书签
*/
public void setPagertabStrip(){
//设置文本颜色
pagerTabStrip.setTextColor(Color.RED);
//设置指示线颜色
pagerTabStrip.setTabIndicatorColor(Color.BLUE);
//设置背景颜色
pagerTabStrip.setBackgroundColor(Color.GREEN);
//设置是否完整绘制底线
pagerTabStrip.setDrawFullUnderline(false);
}
//初始化数据源
public void initData(){
for(int i=0;i<4;i++){
MyFragment myFragment = MyFragment.getInstance(i+1);
list.add(myFragment);
}
}
public class MyFragmentpagerAdapter extends FragmentPagerAdapter{
public MyFragmentpagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
//设置书签内容
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titles[position];
}
}
}
MyFragment.java
package com.qf.day21_fragmentpagertabstrip_demo2;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class MyFragment extends ListFragment {
private TextView tvShow;
private int index =0;
public static MyFragment getInstance(int index){
MyFragment myFragment = new MyFragment();
Bundle args = new Bundle();
args.putInt("index", index);
myFragment.setArguments(args);
return myFragment;
}
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
Bundle bundle = getArguments();
if(bundle!=null){
index = bundle.getInt("index");
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v = inflater.inflate(R.layout.fragment_layout, container, false);
tvShow = (TextView) v.findViewById(R.id.tv_show);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
switch (index) {
case 1:
tvShow.setText("您点击了书签1");
break;
case 2:
tvShow.setText("您点击了书签2");
break;
case 3:
tvShow.setText("您点击了书签3");
break;
case 4:
tvShow.setText("您点击了书签4");
break;
default:
break;
}
SimpleAdapter adapter = new SimpleAdapter(
getActivity(),
loadNetWorkData(),
R.layout.item,
new String[]{"icon","title","content"},
new int[]{R.id.iv_item,R.id.title_item,R.id.content_item});
setListAdapter(adapter);
}
/**
* 假设从网络获取数据
* @return
*/
private List<Map<String,Object>> loadNetWorkData(){
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
for(int i=0;i<20;i++){
Map<String, Object> map = new HashMap<String, Object>();
map.put("icon", R.drawable.ic_launcher);
map.put("title", "郭XX大战曹XXX"+i+"tab"+index);
map.put("content", "降龙十八掌赢"+i+"tab"+index);
list.add(map);
}
return list;
}
@Override
public void onStart() {
// TODO Auto-generated method stub
super.onStart();
}
@Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
@Override
public void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
@Override
public void onStop() {
// TODO Auto-generated method stub
super.onStop();
}
@Override
public void onDestroyView() {
// TODO Auto-generated method stub
super.onDestroyView();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
public void onDetach() {
// TODO Auto-generated method stub
super.onDetach();
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- <android.support.v4.view.PagerTabStrip
android:id="@+id/pagertabStrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</android.support.v4.view.PagerTabStrip> -->
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pagerTitleStrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
>
</android.support.v4.view.PagerTitleStrip>
</android.support.v4.view.ViewPager>
</RelativeLayout>
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!-- <android.support.v4.view.PagerTabStrip
android:id="@+id/pagertabStrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
</android.support.v4.view.PagerTabStrip> -->
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pagerTitleStrip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
>
</android.support.v4.view.PagerTitleStrip>
</android.support.v4.view.ViewPager>
</RelativeLayout>
item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/iv_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
/>
<TextView
android:id="@+id/title_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_item"
android:text="name"
/>
<TextView
android:id="@+id/content_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/iv_item"
android:text="aaa"
android:layout_alignBottom="@id/iv_item"
/>
</RelativeLayout>
21 PagerTabStrip-PagerTitleStrip-viewPager的更多相关文章
- 【Android 界面效果21】Android ViewPager使用详解
这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...
- PagerTabStrip在ViewPager的页面中添加标题显示
package com.qf.day18_viewpager_demo_05; import java.util.ArrayList; import java.util.List; import an ...
- Android Tab -- 使用ViewPager、PagerTitleStrip/PagerTabStrip来实现
原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 效果:滑动切换:点击标签切换. 代码:https://github.com/l ...
- ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
前言:在前两篇文章中,我们讲解了滑动页面的的实现方法与四大函数的意义,但有时,仅仅实现页面滑动是不够的,还要有标题栏才会显得更友好.所以在这篇文章中,我将会向大家展示在Android.support. ...
- [转]ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
目录(?)[-] 一PagerTitleStrip Class Overview XML布局文件 重写适配器的getPageTitle函数 变量 初始化 重写CharSequence getPag ...
- Android多画面幻灯片:ViewPager基础上,利用与PagerTabStrip出生缺陷(源代码)
近期使用ViewPager.读了几个人说是不是很清晰的信息,干脆自己写demo总结下. 样例非常easy.Activity里有三个界面能够滑动.每个界面都有一个button并设置好了监听.PagerT ...
- Android零基础入门第70节:ViewPager轻松完成TabHost效果
上一期学习了ViewPager的简单使用,本期一起来学习ViewPager的更多用法. 相信很多同学都使用过今日头条APP吧,一打开主界面就可以看到顶部有很多Tab,然后通过左右滑动来切换,就可以通过 ...
- Android ViewPager使用详解(转)
这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...
- Android ViewPager使用详解
这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...
- Android界面实现----PagerTabStrip绚丽的滑动标签
在ViewPager这种可以滑动的控件上,总是有很多的文章可以做.Android自带的控件,实现一个指示器,这个控件,就是support-v4包里面的PagerTabStrip控件. 首先,我们先看一 ...
随机推荐
- [AtCoder arc090E]Avoiding Collision
Description 题库链接 给出一张 \(N\) 个节点, \(M\) 条边的无向图,给出起点 \(S\) 和终点 \(T\) .询问两个人分别从 \(S\) 和 \(T\) 出发,走最短路不相 ...
- [HNOI 2001]产品加工
Description 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机 ...
- 【BZOJ2242】【SDOI2011】计算器
Description 你被要求设计一个计算器完成以下三项任务: 1.给定y.z.p,计算y^z mod p 的值: 2.给定y.z.p,计算满足xy ≡z(mod p)的最小非负整数x: 3.给定y ...
- 2014-10-30NOIP复习题1
Problem 1 Graph (graph.cpp/c/pas) [题目描述] 给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点. [输入格式 ...
- hdu 5115(2014北京—dp)
题意: 有一排狼,每只狼有一个伤害A,还有一个伤害B.杀死一只狼的时候,会受到这只狼的伤害A和这只狼两边的狼的伤害B的和.如果某位置的狼被杀,那么杀它左边的狼时就会收到来自右边狼的B,因为这两只狼是相 ...
- React 深入系列4:组件的生命周期
文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列4:组件的生命周期 React 深入系列,深入讲解了React中的重点概念.特性和模式等,旨在帮助 ...
- Cisco 交换机配置的基本命令
1.不同的vlan 不同vlan需要路由 在路由的端口设置多个IP段 交换机模拟器实验六 2.查看端口名字 SWA#sh vlan default Active F0/1, F0/2, F0 ...
- React Suite v3.0 正式版发布
React Suite v3.0 正式版发布 相信很多人会好奇,React Suite 是什么? React Suite 是 HYPERS 前端团队和 UX 团队开源的一套基于 React 的 UI ...
- linux系统下安装jdk、tomcat、mysql、redis
一,安装jdk 1.rpm -qa | grep jdk 检测是否安装jdk 2.rpm -e --nodeps 要卸载的已有jdk名称 3.tar -zxvf jdk-7u71-linux-i586 ...
- 面向对象+canvas 倒计时
效果参照网上的,用面向对象改写了一下,只写了自己需要的部分. 1.效果: 实现: //html <canvas id="canvas" width="800px&q ...