ViewPageer用PagerTabStrip实现导航

ViewPager与PagerTabStrip示例
本文介绍了一个使用ViewPager和PagerTabStrip实现页面切换及顶部标签导航的Android应用示例。通过自定义适配器实现了不同页面的内容展示,并设置了导航条的样式。
<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.support.v4.view.ViewPager
            android:id="@+id/vp"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <android.support.v4.view.PagerTabStrip
                android:id="@+id/pts"
                   android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

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



</RelativeLayout>

“`
package com.kk.viewpager;
/**
* ViewPager用PagerTabStrip导航
*/
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;

public class MainActivity extends Activity {

private PagerTabStrip pt;
private ViewPager vp;
private List<View> l;
private List<String> l_pt;
@SuppressWarnings("unused")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    pt=(PagerTabStrip)findViewById(R.id.pts);
    vp=(ViewPager)findViewById(R.id.vp);
    l=new ArrayList<View>();
    l_pt=new ArrayList<String>();
    View v1=getLayoutInflater().inflate(R.layout.v1, null);
    View v2=getLayoutInflater().inflate(R.layout.v2, null);
    View v3=getLayoutInflater().inflate(R.layout.v3, null);
    l.add(v1);
    l.add(v2);
    l.add(v3);
    l_pt.add("第一页");
    l_pt.add("第二页");
    l_pt.add("第三页");

    pt.setTabIndicatorColor(Color.BLUE);//设置 导航条背景色
    pt.setBackgroundColor(Color.RED);//设置背景颜色
    pt.setDrawFullUnderline(false);//设置下面的黑线不可见
    vp.setAdapter(new MyAdapter());

}

class MyAdapter extends PagerAdapter{

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

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0==arg1;
    }
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(l.get(position));
        return l.get(position);
    }
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
                 container.removeView(l.get(position));
    }
    @Override
    public CharSequence getPageTitle(int position) {

        return l_pt.get(position);
    }

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值