提问者:小点点

自定义TabLayout,如Google Play音乐应用程序


我将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?


共1个答案

匿名用户

您应该使用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>