TabLayout自定义tab并实现tab点击切换

目录:android.support.design.widget.TabLayout

xml中:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.TabLayout
        android:id="@+id/toolbar_tl_tab"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_gravity="bottom"
        app:layout_scrollFlags="scroll"
        app:tabIndicatorColor="@android:color/holo_green_light"
        app:tabSelectedTextColor="@android:color/holo_green_light" />
</RelativeLayout>

代码调用:

public class MainActivity extends AppCompatActivity {

    private TabLayout toolbar_tl_tab;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        toolbar_tl_tab = (TabLayout) findViewById(R.id.toolbar_tl_tab);
        toolbar_tl_tab.setTabMode(TabLayout.MODE_FIXED);
        String[] titles = {"标题1", "标题2", "标题3", "标题4"};
        for (int i = 0; i < titles.length; i++) {
            toolbar_tl_tab.addTab(toolbar_tl_tab.newTab().setText(titles[i]), i);
            //设置tab选中及默认状态
            toolbar_tl_tab.setTabTextColors(getResources().getColor(android.R.color.background_dark), getResources().getColor(android.R.color.holo_red_dark));
        }
        toolbar_tl_tab.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            //选中是回调
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                switch (tab.getPosition()) {
                    case 0:
                        Log.d("TAG", "0");
                        break;
                    case 1:
                        Log.d("TAG", "1");
                        break;
                    default:
                        break;
                }
            }
            //从选中到不再选中时回调
            @Override
            public void onTabUnselected(TabLayout.Tab tab) {
                switch (tab.getPosition()) {
                    case 0:
                        Log.d("TAG", "onTabUnselected 0");
                        break;
                    case 1:
                        Log.d("TAG", "onTabUnselected 1");
                        break;
                    default:
                        break;
                }
            }
            @Override
            public void onTabReselected(TabLayout.Tab tab) {
                Log.d("TAG", "onTabReselected");
            }
        });
    }

}
    原文作者:Hans在路上
    原文地址: https://www.jianshu.com/p/37ebb29872ab
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞