【问题标题】:Android remove spaces between tabs in tabwidgetAndroid删除tabwidget中选项卡之间的空格
【发布时间】:2023-03-19 21:57:02
【问题描述】:

我创建了一个包含这些标签的应用程序。我想在我的应用程序中显示标签,但默认情况下在 android 中是这样的。

但我想显示这样的标签

所以我想删除两个选项卡之间的分隔线和空格,并且默认情况下选项卡的背景颜色是灰色。所以我想把它改成白色。

请告诉如何删除两个选项卡之间的分隔线和空格以及更改选项卡的背景颜色。

我正在点击此链接制作标签小部件http://www.mkyong.com/android/android-tablayout-example/

【问题讨论】:

    标签: android android-tabhost android-tabs


    【解决方案1】:

    试试

    mTabHost.getTabWidget().setStripEnabled(false);
    

    删除tabhost中的条带

    mTabHost.getTabWidget().setDividerDrawable(null); 
    

    删除潜水线,并使用自定义视图更改背景颜色。

    【讨论】:

      【解决方案2】:

      您必须利用 TabWidget 上的以下功能:

      setDividerDrawable(null); //Or provide your own divider here as needed
      

      以及修改选项卡的背景可绘制对象。

      如果您决定不以编程方式执行此操作,请覆盖该类并创建您自己想要引用的选项卡版本而不是默认类,并将它们放入您的 XML 布局文件中。

      【讨论】:

        【解决方案3】:

        这是一个简单的解决方案:

        <android.support.design.widget.TabLayout
        app:tabPaddingStart="0dp"
        app:tabPaddingEnd="0dp" />
        

        【讨论】:

          【解决方案4】:

          由于选项卡结构使用可绘制对象来显示您看到的图形,您可以简单地将它们替换为自定义图形。在您的情况下,使用透明或白色(取决于您想用它们做什么)

          为标签实现自定义样式将是最好的方法。 我将从这些元素开始:

          <item name="android:divider">@drawable/MY_DIVIDER</item>
          <item name="android:background">@drawable/MY_TAB_BACKGROUND</item>
          <item name="android:dividerPadding">0 dp</item>
          

          【讨论】: