我将TabLayout实现为类似的Google Play音乐应用程序。
这是我的布局:
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.design.widget.TabLayout>
我处理TabLayout的代码:
private void init() {
mTabLayout = (TabLayout) findViewById(R.id.tab_layout);
mTabLayout.addTab(mTabLayout.newTab().setText("Category 1"));
mTabLayout.addTab(mTabLayout.newTab().setText("Category 2"));
mTabLayout.addTab(mTabLayout.newTab().setText("Category 3"));
mTabLayout.addTab(mTabLayout.newTab().setText("Category 4"));
mTabLayout.addTab(mTabLayout.newTab().setText("Category 5"));
mTabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
}
但结果是TabLayout在左侧没有边距:
我尝试了这篇文章,但结果不如预期。我如何像上面显示的Google Play音乐应用程序那样自定义TabLayout?
您应该使用android:边缘化
到TabLayout。
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp">
</android.support.design.widget.TabLayout>
要为纵向和横向方向使用不同的边距,请在value/dimens. xml和worth es-land/dimens.xml处使用单独的值
更新:
即使选项卡滚动,使用边距也会产生空格。所以使用填充,使用clipToPadd="false"
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:clipToPadding="false">
</android.support.design.widget.TabLayout>