ViewPager+Fragment的下划线

来源:互联网 发布:python 抓取淘宝图片 编辑:程序博客网 时间:2024/05/22 23:22

一个小页面 用到ViewPager+Fragment还有下划线随页面滑动  应为赖的写线 所以拖了第三方

一个很老的库 所以里面方法不是很全

compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
<com.astuetz.PagerSlidingTabStrip    android:id="@+id/tabs"    android:layout_width="match_parent"    android:layout_height="55dp"    android:background="#F9f9f9"    psts:pstsShouldExpand="true" /><android.support.v4.view.ViewPager    android:id="@+id/job_viewpager"    android:layout_width="match_parent"    android:layout_height="0dp"    android:layout_weight="1" /> 
dm = getResources().getDisplayMetrics();
tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);viewPager = (ViewPager) findViewById(R.id.job_viewpager);
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager());viewPager.setAdapter(adapter);tabs.setViewPager(viewPager);
setTabsValue();
class FragmentAdapter extends FragmentPagerAdapter {    private final String[] titles = {"高速报警", "服务热线", "保险公司"};    public FragmentAdapter(FragmentManager fm) {        super(fm);    }    @Override    public CharSequence getPageTitle(int position) {        return titles[position];    }    @Override    public int getCount() {        return titles.length;    }    @Override    public Fragment getItem(int positon) {        switch (positon) {            case 0:                if (null == alart) {                    alart = new AlartFramgent();                }                return alart;            case 1:                if (null == high) {                    high = new ServiceFramgent();                }                return high;            case 2:                if (null == safe) {                    safe = new SafeFramgent();                }                return safe;        }        return null;    }}private DisplayMetrics dm;/** *  PagerSlidingTabStrip的各项属性进行赋值。  */private void setTabsValue() {    // 设置Tab是自动填充满屏幕的     tabs.setShouldExpand(true);    // 设置Tab的分割线是透明的      tabs.setDividerColor(Color.TRANSPARENT);    // 设置Tab底部线的高度      tabs.setUnderlineHeight((int) TypedValue.applyDimension(            TypedValue.COMPLEX_UNIT_DIP, 1, dm));    // 设置Tab Indicator的高度    tabs.setIndicatorHeight((int) TypedValue.applyDimension(            TypedValue.COMPLEX_UNIT_DIP, 3, dm));    // 设置Tab标题文字的大小    tabs.setTextSize((int) TypedValue.applyDimension(            TypedValue.COMPLEX_UNIT_SP, 18, dm));    // 设置Tab Indicator的颜色    tabs.setIndicatorColor(Color.parseColor("#65a6ff"));    // 取消点击Tab时的背景    tabs.setTabBackground(0);}
大概就是这样 缺点不少 样式简单 需求简单的时候就用了 
官网地址:https://github.com/astuetz/PagerSlidingTabStrip

原创粉丝点击