2011-04-27 177 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" />