android学习-----使用TabLayout实现Tab选项卡以及遇到的一些问题(一)


TabLayout的使用


前言: 更好用,更方便,更简洁


1.开始

1.1 添加TabLayout的引用

compile 'com.android.support:design:25.1.0'

      1.2  xml添加TabLayout布局

 <android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        app:tabBackground="@android:color/white"
        app:tabIndicatorColor="@color/colorAccent"
        app:tabIndicatorHeight="1dp"
        app:tabSelectedTextColor="@color/colorPrimaryDark"
        app:tabTextColor="@android:color/black"
        >

        <android.support.design.widget.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="tab1"
            />

        <android.support.design.widget.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="tab2"
            />

        <android.support.design.widget.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="tab3"
            />

    </android.support.design.widget.TabLayout>


上面的TabLayout配合TabItem直接使用,先看效果吧



可以看见轻松了实现顶部Tab选项卡的切换,选中的颜色以及默认颜色,底部横线标识等。现在我们看看有些啥属性吧。

app:tabBackground   //tab选项的背景颜色
        app:tabIndicatorColor  // 下划线的颜色
        app:tabIndicatorHeight  //下划线的高度
        app:tabSelectedTextColor //选中时候的文字颜色
        app:tabTextColor //默认时候的文本颜色

  app:tabMode (fixed tab固定一行 scrollable tab过多的时候可滑动)


但是呢我们有时候需要动态添加TabItem怎么办呢,憋着急 慢慢来。

代码如下

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.inject(this);

        mTabLayout.addTab(mTabLayout.newTab().setText("tab01"));
        mTabLayout.addTab(mTabLayout.newTab().setText("tab02"));
        mTabLayout.addTab(mTabLayout.newTab().setText("tab03"));
        mTabLayout.addTab(mTabLayout.newTab().setText("tab04"));


        mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) { //点击第一次的tab选项回调
                Toast.makeText(MainActivity.this, tab.getText(), Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {  //上一次的tab回调
                Log.i("MainActivity", "onTabUnselected: " + tab.getText());
            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) { // 再次点击同一个tab的回调
                Log.i("MainActivity", "onTabReselected: " + tab.getText());

            }
        });
    }

可以看到这里我们通过代码的方式添加了几个item ,并且添加了点击tab时候的点击事件,我们可以通过点击的tab来做一些不可描述的事情 看图吧,图片是最好的解释


上图中可以看见,点一次tab选项会回调2个不同的方法。你就可以在里面做一些羞羞的事情了。


讲到这里先告一段落,一步一步来吧。


下篇文章会讲 tabLayout+Viewpager+Fragment的联合使用,以及会遇到的一些问题。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值