我想表明我的應用程序標籤之間,但默認情況下,在標籤之間的android分隔線有分隔線這樣更改標籤的背景顏色和刪除選項卡
Tab1 | Tab2 | Tab3 |
但我想顯示的標籤這樣
Tab1 Tab2 Tab3
所以我想刪除兩個標籤之間的分隔線,默認情況下標籤背景顏色是灰色。所以我想把它改成黑色。
請告訴如何刪除兩個標籤之間的分隔線,並更改標籤的背景顏色。
在此先感謝。
最好的問候。
我想表明我的應用程序標籤之間,但默認情況下,在標籤之間的android分隔線有分隔線這樣更改標籤的背景顏色和刪除選項卡
Tab1 | Tab2 | Tab3 |
但我想顯示的標籤這樣
Tab1 Tab2 Tab3
所以我想刪除兩個標籤之間的分隔線,默認情況下標籤背景顏色是灰色。所以我想把它改成黑色。
請告訴如何刪除兩個標籤之間的分隔線,並更改標籤的背景顏色。
在此先感謝。
最好的問候。
使用此方法和佈局來爲選項卡使用您自己的佈局。要移除分隔線,只需用自己的背景替換背景9patch圖形。
public static View prepareTabView(Context context, String text, Drawable background) {
View view = LayoutInflater.from(context).inflate(R.layout.fake_native_tab, null);
TextView tv = (TextView) view.findViewById(R.id.fakeNativeTabTextView);
tv.setText(text);
view.setBackgroundDrawable(background);
return view;
}
fake_native_tab.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fakeNativeTabLayout" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="center"
android:orientation="vertical" android:background="@drawable/default_tab_background">
<!--
You can even define an Icon here (dont forget to set a custom icon in your code for each Tab):
<ImageView android:id="@+id/fakeNativeTabImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/icon" />
-->
<TextView android:id="@+id/fakeNativeTabTextView"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/tab_text_color" android:textSize="@dimen/text_size_tiny"
android:text="Tab" android:ellipsize="marquee" />
</LinearLayout>
使用(你TabActivity
內):
/* Create Tabs */
// reusable Tab Spec
TabHost.TabSpec spec;
Intent tabIntent;
tabHost = getTabHost();
Resources res = getResources();
// Tab 1:
tabIntent = new Intent().setClass(this, Favorite.class);
spec = tabHost.newTabSpec(TAB_SOMETAB).setIndicator(
prepareTabView(this, (String) getText(R.string.tab_favorite), res
.getDrawable(R.drawable.tab_favorite_background), 0)).setContent(tabIntent);
tabHost.addTab(spec);
// Tab 2:
tabIntent = new Intent().setClass(this, History.class);
spec = tabHost.newTabSpec(TAB_SOMEOTHERTAB).setIndicator(
prepareTabView(this, (String) getText(R.string.tab_history), res
.getDrawable(R.drawable.tab_favorite_background), 0)).setContent(tabIntent);
tabHost.addTab(spec);
用途:
tabHost.getTabWidget().setDividerDrawable(null);
刪除分隔線。
行被刪除,但標籤之間的間距是多少? – MobileEvangelist 2013-01-15 09:20:01
感謝一噸:) – Nevaeh 2015-03-30 12:31:18
我在ICS中出現了問題,分隔符是可見的。除了以下內容,沒有任何解決方案可行。
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="bottom"
android:layout_alignParentBottom="true"
android:fadingEdge="none"
android:showDividers="none" >
</TabWidget>
重點線爲android:showDividers="none"
無論如何這是正確的答案... – erikaD 2013-06-27 14:10:02
感謝給答覆,我也想刪除分隔線在兩個標籤之間。請告訴我如何刪除兩個標籤之間的分隔線 – Ramakrishna 2011-06-01 08:04:11
它可以通過編程方式設置標籤的寬度和高度,所以嘗試擴大寬度,然後你可以得到它... – Lavanya 2011-06-01 08:06:09
只需使用沒有分隔線的背景圖形在它的線。 – Mannaz 2011-06-01 08:06:51