序言
上一篇中我们介绍了几个简单的新UI控件,相信很多小伙伴对Materil Design的视觉效果有了一定的了解,今天我们就继续介绍其他几个控件的玩儿法,让我们一探Materil Design的究竟,我们先来看一下我们今天要介绍的CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout及TabLayout, ok,我们接下来就逐一对这些控件进行解析,揭开他们神秘的面纱,来为我们服务,Let’s Go.
TabLayout
我们先来看官方的介绍:
- TabLayout是一个提供展示 tabs 的横向的layout;
Tabs的实例是通过
TabLayout.Tab
获取的,你可以通过调用newTab()
来实现,你同时可以调用setText(CharSequence text)
和setIcon(int)
来改变tab的名称及图标;如果你想要展示这些tabs,就需要调用addTab(Tab)
了,示例代码:
TabLayout tabLayout = ...;
tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));
你需要设置一个
setOnTabSelectedListener(OnTabSelectedListener)
来监听每个tab被选中时状态改变的回调;如果你在你的layout里面使用了viewpager
的话,你就需要调用setupWithViewPager(ViewPager)
来将二者进行绑定,这个layout会将viewpager的标题和内容进行自动填充;当然,你也可以直接在布局文件中添加
TabItem
来进行展示,示例代码:
<android.support.design.widget.TabLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<android.support.design.widget.TabItem
android:text="@string/tab_text"/>
<android.suppo