Android PagerTitleStrip和PagerTabStrip使用demo

 /*PagerTabStrip在当前页面下,会有一个下划线条来提示当前页面的Tab是哪个。

   PagerTabStrip的Tab是可以点击的,当用户点击某一个Tab时,当前页面就会跳转到这个页面,而PagerTitleStrip则没这个功能。
        */

PagerTitleStrip
这里写图片描述

PagerTabStrip
这里写图片描述

1。PagerTitleStripAty

package com.louis.louispagertitlestripandpagertabstrip;

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class PagerTitleStripAty extends AppCompatActivity {

    List<View> views= new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pager_title_strip_aty);

        ViewPager viewPager= (ViewPager) findViewById(R.id.id_vp);

        // View view= LayoutInflater.from(this).inflate(R.layout.vp_content,null);
        //LinearLayout linearLayout= (LinearLayout) view.findViewById(R.id.id_ll_con);

        for (int i=0;i<5;i++){
            TextView textView=new TextView(this);
            LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
            textView.setLayoutParams(layoutParams);
            textView.setGravity(Gravity.CENTER);
            textView.setText("页面" + i);
            //linearLayout.addView(textView);
            views.add(textView);
        }

        PagerTitlePagerAdapter myPagerAdapter=new PagerTitlePagerAdapter(views);
        viewPager.setAdapter(myPagerAdapter);
    }
}

2。xml

<?xml version="1.0" encoding="utf-8"?>
<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="com.louis.louispagertitlestripandpagertabstrip.PagerTitleStripAty">

    <android.support.v4.view.ViewPager
        android:id="@+id/id_vp"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <!--android:layout_gravity=""的值要设置为top或bottom。将标题栏显示在顶部或底部-->
        <android.support.v4.view.PagerTitleStrip
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            >

        </android.support.v4.view.PagerTitleStrip>

    </android.support.v4.view.ViewPager>

</RelativeLayout>

3。PagerTitlePagerAdapter

package com.louis.louispagertitlestripandpagertabstrip;

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;

import java.util.List;

/**
 * Created by Administrator on 2016/3/22.
 */
public class PagerTitlePagerAdapter extends PagerAdapter {

    List<View>  views;

    public PagerTitlePagerAdapter(List<View> views) {
        this.views = views;
    }

    @Override
    public int getCount() {
        return views.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view==object;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
       // super.destroyItem(container, position, object);

        container.removeView(views.get(position));
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
       // return super.instantiateItem(container, position);
        View view= views.get(position);
        container.addView(view);

        return view;
    }

    @Override
    public CharSequence getPageTitle(int position) {
       // return super.getPageTitle(position);
        return "标记"+position;
    }
}

一。PagerTabStripAty

package com.louis.louispagertitlestripandpagertabstrip;

import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class PagerTabStripAty extends AppCompatActivity {
    List<View> views= new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pager_tab_strip_aty);

        ViewPager viewPager= (ViewPager) findViewById(R.id.id_vp);
        PagerTabStrip pagerTabStrip= (PagerTabStrip) findViewById(R.id.id_pts);

        for (int i=0;i<5;i++){
            TextView textView=new TextView(this);
            LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
            textView.setLayoutParams(layoutParams);
            textView.setGravity(Gravity.CENTER);
            textView.setText("页面" + i);
            //linearLayout.addView(textView);
            views.add(textView);
        }
        pagerTabStrip.setTabIndicatorColorResource(android.R.color.holo_red_dark);

        PagerTabPagerAdapter myPagerAdapter=new PagerTabPagerAdapter(views);
        viewPager.setAdapter(myPagerAdapter);
    }
}

二、xml

<?xml version="1.0" encoding="utf-8"?>
<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="com.louis.louispagertitlestripandpagertabstrip.PagerTabStripAty">
    <android.support.v4.view.ViewPager
        android:id="@+id/id_vp"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <!--android:layout_gravity=""的值要设置为top或bottom。将标题栏显示在顶部或底部-->
        <android.support.v4.view.PagerTabStrip
            android:id="@+id/id_pts"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            >

        </android.support.v4.view.PagerTabStrip>

    </android.support.v4.view.ViewPager>
</RelativeLayout>

三、PagerTabPagerAdapter

package com.louis.louispagertitlestripandpagertabstrip;

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;

import java.util.List;

/**
 * Created by Administrator on 2016/3/22.
 */
public class PagerTabPagerAdapter extends PagerAdapter {

    List<View>  views;

    public PagerTabPagerAdapter(List<View> views) {
        this.views = views;
    }

    @Override
    public int getCount() {
        return views.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view==object;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
       // super.destroyItem(container, position, object);

        container.removeView(views.get(position));
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
       // return super.instantiateItem(container, position);
        View view= views.get(position);
        container.addView(view);

        return view;
    }

    @Override
    public CharSequence getPageTitle(int position) {
       // return super.getPageTitle(position);
        return "标记"+position;
    }
}

demo下载:http://download.csdn.net/detail/richiezhu/9469785

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值