PagerTabStrip简单使用方式1


效果图示例:

 

 

 

 

PagerTabStrip简单使用方式1_第1张图片

 

 

//res/layout下5个布局1、activity_main.xml 2、fragment_view1.xml 3、fragment_view2.xml
//4、fragment_view3.xml 5、fragment_view4.xml

 

 

1、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"
    tools:context="${relativePackage}.${activityClass}" >
<!-- ViewPager相当于一个容器包裹PagerTabStrip -->
    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <android.support.v4.view.PagerTabStrip
            android:id="@+id/pagerTabStrip"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </android.support.v4.view.ViewPager>

</RelativeLayout>

 

 


================

 

 

2、fragment_view1.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"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:id="@+id/textview1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是记录页面"/>

</RelativeLayout>

 

=================


3、fragment_view2布局

代码


<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"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:id="@+id/textview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是联系人页面"/>

</RelativeLayout>

 

=====================


4、fragment_view3布局

代码

<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"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:id="@+id/textview3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是收藏夹页面"/>

</RelativeLayout>

 

===================


5、fragment_view4布局

代码


<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"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:id="@+id/textview4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是群组页面"/>

</RelativeLayout>

 

 

 

=====================


6、MainActivity.java类


代码

 

public class MainActivity extends Activity {

 private ViewPager viewPager;
 private PagerTabStrip pagerTabStrip;
 
 private List<View> list_view;
 private List<String> list_title;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  this.viewPager = (ViewPager) this.findViewById(R.id.viewPager);
  this.pagerTabStrip = (PagerTabStrip) this.findViewById(R.id.pagerTabStrip);
  
  //设置pagerTabStrip的一些需要属性
  pagerTabStrip.setTextColor(Color.WHITE);//字体颜色白色
  pagerTabStrip.setBackgroundColor(Color.BLACK);//背景黑色
  pagerTabStrip.setDrawFullUnderline(true);//设置下划线
  pagerTabStrip.setTabIndicatorColor(Color.CYAN);//选中的下划线颜色
  pagerTabStrip.setTextSpacing(40);//每个tab的间隔
  
  list_view = new ArrayList<View>();
  LayoutInflater inflater = LayoutInflater.from(this);
  list_view.add(inflater.inflate(R.layout.fragment_view1, null));
  list_view.add(inflater.inflate(R.layout.fragment_view2, null));
  list_view.add(inflater.inflate(R.layout.fragment_view3, null));
  list_view.add(inflater.inflate(R.layout.fragment_view4, null));
  
  list_title = new ArrayList<String>();
  list_title.add("记录");
  list_title.add("联系人");
  list_title.add("收藏夹");
  list_title.add("群组");
  
  viewPager.setAdapter(new MyPagerAdapter(list_view));
  
 }
 class MyPagerAdapter extends PagerAdapter{
  
  private List<View> list_view;
  public MyPagerAdapter(List<View> list_view) {
   this.list_view = list_view;
  }

  @Override
  public int getCount() {
   return this.list_view.size();
  }
  
  @Override
  public boolean isViewFromObject(View arg0, Object arg1) {
   return arg0 == arg1;
  }
  
  @Override
  public Object instantiateItem(ViewGroup container, int position) {
   container.addView(this.list_view.get(position));
   return this.list_view.get(position);
  }
  @Override
  public void destroyItem(ViewGroup container, int position, Object object) {
   container.removeView(this.list_view.get(position));
  
  //把pagerTabStrip和ViewPager关联起来
  @Override
  public CharSequence getPageTitle(int position) {
   return list_title.get(position);
  }
 }
}

你可能感兴趣的:(PagerTabStrip)