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");
            }
        });
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,118评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,492评论 2 45
  • 转眼间30个锦囊已近尾声,回头看练习的过程,有坚持,有懈怠,有想过放弃,可不管怎样,90天要结束了,PPT-在so...
    陈陈_19b4阅读 312评论 1 1
  • 这是个很有意思的问题,我们总是在经历过一些事情后变得成熟,觉得自己应该长大了,而这些事情往往都是不经意间的。 我常...
    心情树洞屋阅读 3,102评论 0 3
  • 七月流火 九月授衣 我被高温迷了眼 辨不清夏秋春冬 酣畅淋漓的雨 浇透七月的暑热 浇透了我的心事 看见我在梦里的笑...
    风过无痕L阅读 186评论 3 1