我将TabLayout实施为类似的Google Play Music应用。
这是我的布局:
<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 doensn左边有边距:
我试试这个article,但结果并不像预期的那样。如何在Google Play音乐应用中自定义TabLayout如上所示?
答案 0 :(得分:4)
您应该使用android:marginLeft
到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>
要为纵向和横向方向设置不同的边距,请在值/ dimens.xml和values-land / dimens.xml处使用单独的值
更新:
即使滚动选项卡,使用边距也会占用空间。所以使用填充,clipToPadding="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>