2011-04-27 163 views
3

我想删除Tabwidgets之间的间距。默认情况下,标签之间大约有1px的间距。我知道一些像foursquare或posterous的应用程序可以将其删除。代码如何做到这一点看起来像?我正在使用2.3 API。如何删除标签小部件之间的空间?

谢谢您的帮助

+0

什么是“tabwidgets之间的间距”? – CommonsWare 2011-04-27 13:55:41

回答

6

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

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

嗨,感谢您的帮助。真的很感激它。我将这个XML保存为empty_divider.xml在drawable文件夹下。但是当我按照你的解释调用它时,它仍然不起作用。我错过了什么吗? – 2011-04-28 12:22:51

+0

由于某些原因StackOverflow的编辑器最后关闭标记 看看这个手​​册页 http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape – 2011-04-28 13:17:28

4

如果您的构建目标是蜂窝向前,则可以使用以下代码。

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

非常感谢你的解决方案...我正面临与ICS设备类似的问题,您的解决方案对我来说工作得非常好。 – Zeba 2012-10-08 14:51:24

3

我解决这个同样的问题,这行代码:

tabHost.getTabWidget().setDividerDrawable(null); 
5

TabWidget机器人:showDividers = “无”

+1

Hi Shuidi,欢迎来到StackOverflow,如果你能给他们多一点描述,对用户会更有帮助,谢谢你的回答.. – 2013-10-18 06:15:54

2

您可以添加机器人: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" />