【问题标题】:How can I remove the space between tab widget?如何删除选项卡小部件之间的空格?
【发布时间】:2011-04-27 13:22:27
【问题描述】:

我想删除 tabwidgets 之间的间距。默认情况下,选项卡之间的间距约为 1px。我知道诸如foursquare或posterous之类的一些应用程序能够删除它。执行此操作的代码如何?我正在使用 2.3 API。

感谢您的帮助

【问题讨论】:

  • 什么是“tabwidgets之间的间距”?

标签: android tabs android-2.3-gingerbread


【解决方案1】:

您可以使用 getTabHost().getTabWidget().setDividerDrawable(R.drawable.empty_divider) 方法, 其中R.drawable.empty_divider 0px大小的简单形状,如

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

【讨论】:

  • 您好,感谢您的帮助。真的很感激。我将此 XML 保存为可绘制文件夹下的 empty_divider.xml。但是当我按照你的解释调用它时它仍然不起作用。我错过了什么吗?
  • 由于某些原因,StackOverflow 的编辑器剪掉了最后一个结束标签,看看这个手​​册页developer.android.com/guide/topics/resources/…
【解决方案2】:

TabWidget android:showDividers="none"

【讨论】:

  • 您好水弟,欢迎来到StackOverflow,如果您能给他们更多的描述,将会对用户更有帮助,谢谢您的回答..
【解决方案3】:

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

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

【讨论】:

  • 非常感谢您提供此解决方案...我在 ICS 设备上遇到了类似的问题,您的解决方案对我来说效果很好。
【解决方案4】:

我用这行代码解决了同样的问题:

 tabHost.getTabWidget().setDividerDrawable(null);

【讨论】:

    【解决方案5】:

    您可以将 android:showDividers="none" 添加到布局 XML

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:showDividers="none" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多