NavigationTabStrip嵌套ViewPager+framgent的使用

先上个图看下效果


一个带滑动效果的分割线

先加入依赖

compile 'com.github.devlight.navigationtabstrip:library:1.0.1'


布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.gigamole.library.navigationtabstrip.NavigationTabStrip
        android:id="@+id/nts_bottom"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:background="@color/hui"
        app:nts_active_color="@color/blue"
        app:nts_color="@color/blue"
        app:nts_corners_radius="1.5dp"
        app:nts_factor="2.8"
        app:nts_inactive_color="@color/black2"
        app:nts_titles="@array/titles"
        app:nts_typeface="fonts/drugs.otf"
        app:nts_weight="3dp" />


    <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/vp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />


</LinearLayout>



public class CouponActivity extends BaseActivity {

    private ViewPager viewPager;
    private NavigationTabStrip mBottomNavigationTabStrip;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentLayout(R.layout.activity_coupons);
        setTitle(PrefConstant.COUPONS);
        showBackImage(true);

        init();
    }



    public void init() {

        ArrayList<Fragment> fragmentList = new ArrayList<Fragment>();

        fragmentList.add(new NoUseFramgent());
        fragmentList.add(new IsUseFramgent());
        fragmentList.add(new ExpireFramgent());

        viewPager = (ViewPager) findViewById(R.id.vp);
        mBottomNavigationTabStrip = (NavigationTabStrip) findViewById(R.id.nts_bottom);

        viewPager.setAdapter(new FragmentAdapter(getSupportFragmentManager(), fragmentList));
        viewPager.setOffscreenPageLimit(2);//预加载个数
        mBottomNavigationTabStrip.setViewPager(viewPager, 0);
        
    }
}

public class FragmentAdapter extends FragmentPagerAdapter {

    ArrayList<Fragment> list;

    public FragmentAdapter(FragmentManager fm, ArrayList<Fragment> lists) {
        super(fm);

        this.list = lists;
    }

    @Override
    public Fragment getItem(int position) {
        return list.get(position);
    }

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

For NTS you can set such parameters as你可以设置如下属性:

  • color:

    allows you to set strip color.设置strip(线条)的颜色

  • size:

    设置title的大小。默认是自动大小。

  • weight:

    设置strip的weight(高度)。

  • factor:

    设置strip的缩放因数。

  • titles:

    设置NavigationTabStrip的标题,即每一个tab。

  • type:

    设置strip的类型-线条还是圆点。

  • gravity:

    设置strip的gravity -  top 还是 bottom

  • view pager:

    把NavigationTabStrip和ViewPager关联。如果你想,也可以设置OnPageChangeListener。

  • typeface:

    设置标题的自定义字体。

  • corners radius:

    设置strip的边角半径。

  • animation duration:

    设置动画持续时间。

  • inactive color:

    设置标题未激活时的颜色。

  • active color:

    设置标题激活时的颜色

  • tab strip listener:

    在设置tab索引时的开始和结束的监听者。

NavigationTabStrip只使用大写的title。


暂时没找到修改下划线宽度的方法 只好根据title宽度修改




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值