【问题标题】:How to remove spacing to tab widget in Android? [duplicate]如何在Android中删除标签小部件的间距? [复制]
【发布时间】:2013-02-21 05:01:23
【问题描述】:

我想去掉标签之间的这个间距,如何实现?

【问题讨论】:

  • 这里已经回答了这个问题:stackoverflow.com/questions/5799320/…
  • 嘿,我看到了。看不懂,请教一下怎么用。
  • 检查是否为标签子布局添加了边距
  • 我有添加边距,我想做什么请告诉

标签: android android-layout android-widget


【解决方案1】:

我解决了这个问题,

tabHost.getTabWidget().setDividerDrawable(null);

如果您的构建目标是 Honeycomb 以后,您也可以使用以下代码。

if (Integer.parseInt(Build.VERSION.SDK) >= Build.VERSION_CODES.HONEYCOMB) {
    tabHost.getTabWidget().setShowDividers(LinearLayout.SHOW_DIVIDER_NONE);
}

【讨论】:

    【解决方案2】:

    在某些时候我有同样的问题,我的问题是通过将填充设置为“0”来解决的。我认为,默认情况下它会采用一些填充。因此,如果您不想在 TabWidget 之间留有空间,请尝试使用 Blow 代码。如果我的解决方案可以解决您的问题,请告诉我。

    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
            tabHost.getTabWidget().getChildAt(i).setPadding(0, 0, 0, 0);
        }
    

    【讨论】:

      【解决方案3】:

      在您的主要 res/values/theme.xml 中

      <style name="Theme.Main" parent="...">
          ...
          <item name="android:actionBarTabBarStyle">@style/TabBar.Style</item>
          ...
      </style>
      

      在 res/values/style.xml 中

      <style name="TabBar.Style" parent="...">
          ...
          <item name="android:showDividers">none</item>
          ...
      </style>
      

      【讨论】:

        【解决方案4】:

        试试这个。

            tabHost.getTabWidget().setDividerDrawable(R.drawable.empty);
        

        并定义可绘制的empty.xml。

             <?xml version="1.0" encoding="utf-8"?>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="line" >
            <size
                android:width="0px"
                android:color="@android:color/black"
                android:dashWidth="0px"
                android:dashGap="0px" />
        </shape>
        

        【讨论】:

          【解决方案5】:

          我假设您正在为选项卡使用自定义视图。要删除两个选项卡之间的空间,您不应设置视图的左侧边距和右侧边距,或者您可能设置了设置顶部、左侧、底部和右侧边距的边距属性。

          如果您的问题是选项卡内的间距,则不要将填充应用于您的视图。 如果您的问题尚未解决,请发布您的代码。

          【讨论】:

            【解决方案6】:

            尝试使用以下方法:

            tabHost.getTabWidget().setStripEnabled(false);
            

            更多解释可以参考this链接

            或者做 android:tabStripEnabled="false" 在你的 XML 中

            【讨论】:

            • 一般来说,添加一些关于您的代码在做什么/如何工作的解释或者至少是一个文档链接是个好主意。
            • 哦,谢谢.. 我已经编辑过了。请检查并告诉我。