android 封装好的ViewPagerIndicator指示器

来源:互联网 发布:快手特效软件视频软件 编辑:程序博客网 时间:2024/06/04 19:03

代码修改自网上找的

效果图:

这里写图片描述

使用方法:

一、下载代码:点击下载

二、提取ViewPagerIndicator.java复制到你自己的工程里面,复制全类名加入到你想要显示Indicator的布局文件中,例如:

//指示器<fan.viewpagerdemo.ViewPagerIndicator    android:layout_width="match_parent"    android:layout_height="48sp"    android:background="#333333"    android:id="@+id/vpi" />//ViewPager<android.support.v4.view.ViewPager    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/lvp"     />

在activity中使用需要在给Indicator设置ViewPager之前必须设置要显示的tab数组

this.mViewPager =  (ViewPager)findViewById(R.id.lvp);this.mIndicator = (ViewPagerIndicator) findViewById(R.id.vpi);//设置tab数组(必须!)mIndicator.setTabItemTitles(items);//设置选中文本及底线的颜色mIndicator.setCurrentTextColor(Color.parseColor("#fcffd5"));//设置未选中文本的颜色mIndicator.setOtherTextColor(Color.parseColor("#99ffffff"));//ViewPagermViewPager.setAdapter(new myAdapter());//给Indicator设置ViewPagermIndicator.setViewPager(mViewPager);

activity的全部代码:

public class MainActivity extends AppCompatActivity {    //tab数组    private String[] items = {"一","二","三","四","五", "六"};    private int[] colors = {    Color.parseColor("#4C556E"),    Color.parseColor("#8977b3"),    Color.parseColor("#006c54"),    Color.parseColor("#495a80"),    Color.parseColor("#996600")};    private ViewPagerIndicator mIndicator;    private ViewPager mViewPager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.activity_main);        this.mViewPager =  (ViewPager)findViewById(R.id.lvp);        this.mIndicator = (ViewPagerIndicator) findViewById(R.id.vpi);        //设置tab数组(必须!)        mIndicator.setTabItemTitles(items);        //设置选中文本及底线的颜色        mIndicator.setCurrentTextColor(Color.parseColor("#fcffd5"));        //设置未选中文本的颜色        mIndicator.setOtherTextColor(Color.parseColor("#99ffffff"));        mViewPager.setAdapter(new myAdapter());        //给Indicator设置ViewPager(这一步等上面属性设置完了再设置)        mIndicator.setViewPager(mViewPager);    }    class myAdapter extends PagerAdapter {        @Override        public int getCount() {            return items.length;        }        @Override        public boolean isViewFromObject(View view, Object object) {            return view == object;        }        @Override        public void destroyItem(ViewGroup container, int position, Object object) {            //主要根据position 和 object 找到 view            container.removeView((View) object);        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            View view = View.inflate(MainActivity.this,R.layout.bj,null);            LinearLayout ll_bj = (LinearLayout) view.findViewById(R.id.ll);            ll_bj.setBackgroundColor(colors[position]);            container.addView(view);            return view;        }    }}

好了,你也可以对ViewPagerIndicator进行二次修改,比如修改下划线在initRectangle()方法里面,可以修改下划线的高度及长度也可以修改为三角形等等……

本文相关下载:点击下载

0 0
原创粉丝点击