• PagerTabStrip:可以点击跳转到对应viewPager界面
  • PagerTitleStrip:不可点击
  • 在eclipse开发时如果目标版本为API23那么会有不显示的问题

    • 解决:更换v4包
    • 解决: 在Activiry的oncreate方法中添加如下代码

      1. ((ViewPager.LayoutParams) tabStrip.getLayoutParams()).isDecor = true;

      (我试了下我的不行但网上有说可以)

    • studio开发貌似可以
  • 文件结构:

MainActivity.java

  1. package com.qf.day21_fragmentpagertabstrip_demo2;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import android.os.Bundle;
  5. import android.app.Activity;
  6. import android.graphics.Color;
  7. import android.support.v4.app.Fragment;
  8. import android.support.v4.app.FragmentActivity;
  9. import android.support.v4.app.FragmentManager;
  10. import android.support.v4.app.FragmentPagerAdapter;
  11. import android.support.v4.view.PagerTabStrip;
  12. import android.support.v4.view.PagerTitleStrip;
  13. import android.support.v4.view.ViewPager;
  14. import android.view.Menu;
  15. public class MainActivity extends FragmentActivity {
  16. private PagerTabStrip pagerTabStrip;
  17. private PagerTitleStrip pagerTitleStrip;
  18. private ViewPager viewPager;
  19. private List<Fragment> list = new ArrayList<Fragment>();
  20. private String[] titles ={"新闻","娱乐","军事","体育"};
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_main);
  25. viewPager = (ViewPager) findViewById(R.id.viewPager);
  26. //pagerTabStrip = (PagerTabStrip) findViewById(R.id.pagertabStrip);
  27. initData();
  28. //setPagertabStrip();
  29. viewPager.setAdapter(new MyFragmentpagerAdapter(getSupportFragmentManager()));
  30. }
  31. /**
  32. * 设置书签
  33. */
  34. public void setPagertabStrip(){
  35. //设置文本颜色
  36. pagerTabStrip.setTextColor(Color.RED);
  37. //设置指示线颜色
  38. pagerTabStrip.setTabIndicatorColor(Color.BLUE);
  39. //设置背景颜色
  40. pagerTabStrip.setBackgroundColor(Color.GREEN);
  41. //设置是否完整绘制底线
  42. pagerTabStrip.setDrawFullUnderline(false);
  43. }
  44. //初始化数据源
  45. public void initData(){
  46. for(int i=0;i<4;i++){
  47. MyFragment myFragment = MyFragment.getInstance(i+1);
  48. list.add(myFragment);
  49. }
  50. }
  51. public class MyFragmentpagerAdapter extends FragmentPagerAdapter{
  52. public MyFragmentpagerAdapter(FragmentManager fm) {
  53. super(fm);
  54. // TODO Auto-generated constructor stub
  55. }
  56. @Override
  57. public Fragment getItem(int arg0) {
  58. // TODO Auto-generated method stub
  59. return list.get(arg0);
  60. }
  61. @Override
  62. public int getCount() {
  63. // TODO Auto-generated method stub
  64. return list.size();
  65. }
  66. //设置书签内容
  67. @Override
  68. public CharSequence getPageTitle(int position) {
  69. // TODO Auto-generated method stub
  70. return titles[position];
  71. }
  72. }
  73. }

MyFragment.java

  1. package com.qf.day21_fragmentpagertabstrip_demo2;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import android.app.Activity;
  7. import android.os.Bundle;
  8. import android.support.v4.app.ListFragment;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12. import android.widget.SimpleAdapter;
  13. import android.widget.TextView;
  14. public class MyFragment extends ListFragment {
  15. private TextView tvShow;
  16. private int index =0;
  17. public static MyFragment getInstance(int index){
  18. MyFragment myFragment = new MyFragment();
  19. Bundle args = new Bundle();
  20. args.putInt("index", index);
  21. myFragment.setArguments(args);
  22. return myFragment;
  23. }
  24. @Override
  25. public void onAttach(Activity activity) {
  26. // TODO Auto-generated method stub
  27. super.onAttach(activity);
  28. Bundle bundle = getArguments();
  29. if(bundle!=null){
  30. index = bundle.getInt("index");
  31. }
  32. }
  33. @Override
  34. public void onCreate(Bundle savedInstanceState) {
  35. // TODO Auto-generated method stub
  36. super.onCreate(savedInstanceState);
  37. }
  38. @Override
  39. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  40. Bundle savedInstanceState) {
  41. // TODO Auto-generated method stub
  42. View v = inflater.inflate(R.layout.fragment_layout, container, false);
  43. tvShow = (TextView) v.findViewById(R.id.tv_show);
  44. return v;
  45. }
  46. @Override
  47. public void onActivityCreated(Bundle savedInstanceState) {
  48. // TODO Auto-generated method stub
  49. super.onActivityCreated(savedInstanceState);
  50. switch (index) {
  51. case 1:
  52. tvShow.setText("您点击了书签1");
  53. break;
  54. case 2:
  55. tvShow.setText("您点击了书签2");
  56. break;
  57. case 3:
  58. tvShow.setText("您点击了书签3");
  59. break;
  60. case 4:
  61. tvShow.setText("您点击了书签4");
  62. break;
  63. default:
  64. break;
  65. }
  66. SimpleAdapter adapter = new SimpleAdapter(
  67. getActivity(),
  68. loadNetWorkData(),
  69. R.layout.item,
  70. new String[]{"icon","title","content"},
  71. new int[]{R.id.iv_item,R.id.title_item,R.id.content_item});
  72. setListAdapter(adapter);
  73. }
  74. /**
  75. * 假设从网络获取数据
  76. * @return
  77. */
  78. private List<Map<String,Object>> loadNetWorkData(){
  79. List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
  80. for(int i=0;i<20;i++){
  81. Map<String, Object> map = new HashMap<String, Object>();
  82. map.put("icon", R.drawable.ic_launcher);
  83. map.put("title", "郭XX大战曹XXX"+i+"tab"+index);
  84. map.put("content", "降龙十八掌赢"+i+"tab"+index);
  85. list.add(map);
  86. }
  87. return list;
  88. }
  89. @Override
  90. public void onStart() {
  91. // TODO Auto-generated method stub
  92. super.onStart();
  93. }
  94. @Override
  95. public void onResume() {
  96. // TODO Auto-generated method stub
  97. super.onResume();
  98. }
  99. @Override
  100. public void onPause() {
  101. // TODO Auto-generated method stub
  102. super.onPause();
  103. }
  104. @Override
  105. public void onStop() {
  106. // TODO Auto-generated method stub
  107. super.onStop();
  108. }
  109. @Override
  110. public void onDestroyView() {
  111. // TODO Auto-generated method stub
  112. super.onDestroyView();
  113. }
  114. @Override
  115. public void onDestroy() {
  116. // TODO Auto-generated method stub
  117. super.onDestroy();
  118. }
  119. @Override
  120. public void onDetach() {
  121. // TODO Auto-generated method stub
  122. super.onDetach();
  123. }
  124. }

activity_main.xml

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context=".MainActivity" >
  10. <android.support.v4.view.ViewPager
  11. android:id="@+id/viewPager"
  12. android:layout_width="match_parent"
  13. android:layout_height="match_parent"
  14. >
  15. <!-- <android.support.v4.view.PagerTabStrip
  16. android:id="@+id/pagertabStrip"
  17. android:layout_width="match_parent"
  18. android:layout_height="wrap_content"
  19. >
  20. </android.support.v4.view.PagerTabStrip> -->
  21. <android.support.v4.view.PagerTitleStrip
  22. android:id="@+id/pagerTitleStrip"
  23. android:layout_width="match_parent"
  24. android:layout_height="wrap_content"
  25. android:layout_gravity="bottom"
  26. >
  27. </android.support.v4.view.PagerTitleStrip>
  28. </android.support.v4.view.ViewPager>
  29. </RelativeLayout>

activity_main.xml

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context=".MainActivity" >
  10. <android.support.v4.view.ViewPager
  11. android:id="@+id/viewPager"
  12. android:layout_width="match_parent"
  13. android:layout_height="match_parent"
  14. >
  15. <!-- <android.support.v4.view.PagerTabStrip
  16. android:id="@+id/pagertabStrip"
  17. android:layout_width="match_parent"
  18. android:layout_height="wrap_content"
  19. >
  20. </android.support.v4.view.PagerTabStrip> -->
  21. <android.support.v4.view.PagerTitleStrip
  22. android:id="@+id/pagerTitleStrip"
  23. android:layout_width="match_parent"
  24. android:layout_height="wrap_content"
  25. android:layout_gravity="bottom"
  26. >
  27. </android.support.v4.view.PagerTitleStrip>
  28. </android.support.v4.view.ViewPager>
  29. </RelativeLayout>

item.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. >
  6. <ImageView
  7. android:id="@+id/iv_item"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:src="@drawable/ic_launcher"
  11. />
  12. <TextView
  13. android:id="@+id/title_item"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:layout_toRightOf="@id/iv_item"
  17. android:text="name"
  18. />
  19. <TextView
  20. android:id="@+id/content_item"
  21. android:layout_width="wrap_content"
  22. android:layout_height="wrap_content"
  23. android:layout_toRightOf="@id/iv_item"
  24. android:text="aaa"
  25. android:layout_alignBottom="@id/iv_item"
  26. />
  27. </RelativeLayout>

21 PagerTabStrip-PagerTitleStrip-viewPager的更多相关文章

  1. 【Android 界面效果21】Android ViewPager使用详解

    这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...

  2. PagerTabStrip在ViewPager的页面中添加标题显示

    package com.qf.day18_viewpager_demo_05; import java.util.ArrayList; import java.util.List; import an ...

  3. Android Tab -- 使用ViewPager、PagerTitleStrip/PagerTabStrip来实现

    原文地址:http://blog.csdn.net/crazy1235/article/details/42678877 效果:滑动切换:点击标签切换. 代码:https://github.com/l ...

  4. ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同

    前言:在前两篇文章中,我们讲解了滑动页面的的实现方法与四大函数的意义,但有时,仅仅实现页面滑动是不够的,还要有标题栏才会显得更友好.所以在这篇文章中,我将会向大家展示在Android.support. ...

  5. [转]ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同

      目录(?)[-] 一PagerTitleStrip Class Overview XML布局文件 重写适配器的getPageTitle函数 变量 初始化 重写CharSequence getPag ...

  6. Android多画面幻灯片:ViewPager基础上,利用与PagerTabStrip出生缺陷(源代码)

    近期使用ViewPager.读了几个人说是不是很清晰的信息,干脆自己写demo总结下. 样例非常easy.Activity里有三个界面能够滑动.每个界面都有一个button并设置好了监听.PagerT ...

  7. Android零基础入门第70节:ViewPager轻松完成TabHost效果

    上一期学习了ViewPager的简单使用,本期一起来学习ViewPager的更多用法. 相信很多同学都使用过今日头条APP吧,一打开主界面就可以看到顶部有很多Tab,然后通过左右滑动来切换,就可以通过 ...

  8. Android ViewPager使用详解(转)

    这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...

  9. Android ViewPager使用详解

    这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...

  10. Android界面实现----PagerTabStrip绚丽的滑动标签

    在ViewPager这种可以滑动的控件上,总是有很多的文章可以做.Android自带的控件,实现一个指示器,这个控件,就是support-v4包里面的PagerTabStrip控件. 首先,我们先看一 ...

随机推荐

  1. hdu 5895 广义Fibonacci数列

    Mathematician QSC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  2. 【BZOJ2241】【Sdoi2011R1D1】打地鼠

    原题传送门 Description 打地鼠是这样的一个游戏:地面上有一些地鼠洞,地鼠们会不时从洞里探出头来很短时间后又缩回洞中.玩家的目标是在地鼠伸出头时,用锤子砸其头部,砸到的地鼠越多分数也就越高. ...

  3. 【USACO】干草金字塔

    题目描述 贝西要用干草包堆出一座金字塔.干草包会从传送带上陆续运来,依次出现 N 包,每包干草可 以看做是一个二维平面上的一个长方形,第 i 包干草的宽度是 W i ,长度统一为 1. 金字塔的修建有 ...

  4. 2015 多校联赛 ——HDU5334(构造)

    Virtual Participation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Ot ...

  5. hdu 5427(水)

    题意:按照年龄从小到大排序 名字中可能有空格什么的,处理下即可 #include<iostream> #include<cstdio> #include<cstring& ...

  6. uva 10118(DP)

    UVA 10118 题意: 有4堆糖果,每堆有n(最多40)个,有一个篮子,最多装5个糖果,我们每次只能从某一堆糖果里拿出一个糖果, 如果篮子里有两个相同的糖果,那么就可以把这两个(一对)糖果放进自己 ...

  7. ANI功能分析

    1 ANI ANI(Adapt Noise Immunity)就是基于CCK错包率,和/或CCK错包率,自动调整抗扰等级,从而提高或降低灵敏度,达到提高整体性能的目标. 2 关键常量 firstep_ ...

  8. java 获得当前时间前指定几个小时的时间?

    //@2016-12-13 获取当前时间,指定前面多少小时的时间 //返回格式YYYYMMDDHHMMSS public static String getBeforeHourTime(int iho ...

  9. Spring的注解@Qualifier小结

    有以下接口: public interface EmployeeService { public EmployeeDto getEmployeeById(Long id); } 有两个实现类: @Se ...

  10. css修改浏览器默认的滚动条样式

    //滚动条样式 ::-webkit-scrollbar { width: 10px; } /* 垂直滚动条的滑动块 */ ::-webkit-scrollbar-thumb:vertical { bo ...