我使用的TabLayout,我有我使用的標籤的自定義圖像,但對於我的生活,我無法弄清楚如何改變顏色,甚至在標籤和圖像之間的分隔線和標籤內容。我試圖使用setDividerDrawable(),但在設置選項卡內容之前調用它時會崩潰,而在我調用它之後什麼都不做。如果我能把它變成黑色就足夠了,但到目前爲止沒有任何工作。感謝您的任何指導。如何更改Android中TabWidget分隔線的顏色和/或可繪製?
5
A
回答
9
您必須這樣做: tabHost.getTabWidget()。setDividerDrawable(R.drawable.tab_divider);
其中R.drawable.tab_divider是資源目錄中的映像。
但是,關鍵是你必須這樣做,然後你已經添加到標籤主機的任何標籤。
我的標籤初始化代碼如下所示:
private void initializeTabs(int curTab) {
this.tabHost = getTabHost();
tabHost.clearAllTabs();
TabSpec ts1, ts2, ts3, ts4, ts5;
// tab separator
tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
ts1 = this.setupTab(new TextView(this), tabHost, R.drawable.browse_tab_normal,
mResources.getString(R.string.Browse));
ts2 = this.setupTab(new TextView(this), tabHost, R.drawable.search_tab_normal,
mResources.getString(R.string.Search));
ts3 = this.setupTab(new TextView(this), tabHost, R.drawable.postad_tab_normal,
mResources.getString(R.string.Post));
ts4 = this.setupTab(new TextView(this), tabHost, R.drawable.watchlist_tab_normal,
mResources.getString(R.string.WatchList));
ts5 = this.setupTab(new TextView(this), tabHost, R.drawable.managead_tab_normal,
mResources.getString(R.string.Login));
// intents
ts1.setContent(new Intent().setClass(this, BrowseTabActivity.class));
ts2.setContent(new Intent().setClass(this, SearchTabActivity.class));
ts3.setContent(new Intent().setClass(this, PostAdTabActivity.class));
ts4.setContent(new Intent().setClass(this, WatchlistTabActivity.class));
ts5.setContent(new Intent().setClass(this, LoginTabActivity.class));
tabHost.addTab(ts1);
tabHost.addTab(ts2);
tabHost.addTab(ts3);
tabHost.addTab(ts4);
tabHost.addTab(ts5);
...
0
更好的方式來定義一個分頻器使如果來自您的XML標記:
<TabWidget
android:layout_width="match_parent"
android:showDividers="middle"
android:divider="@drawable/design_tab_divider">
</TabWidget>
所以,你可以從標記中定義一個drawable。 請注意,您必須使用android:divider
以及android:showDividers="middle"
將標籤之間的分隔符。 更多的閱讀規格,並注意從LinearLayout繼承的屬性 - docs in google
相關問題
- 1. 更改LinearLayout中分隔線的顏色
- 2. Android更改形狀可繪製顏色
- 3. 如何更改Android ListView分隔線的顏色?
- 4. 如何更改Android DatePicker對話框的「分隔線」顏色
- 5. 更改TabHost/TabWidget的顏色
- 6. 更改Android TabWidget底部欄顏色
- 7. 如何在android中加載時更改默認的tabwidget顏色?
- 8. 如何更改實習生Android可繪製的顏色?
- 9. 在Android中更改分隔線的顏色
- 10. 如何更改NSSplitView中分隔線的顏色?
- 11. 如何在iOS中更改UISplitView的分隔線顏色
- 12. 如何動態更改可繪製的顏色和形狀?
- 13. 在Android中更改分隔線顏色PreferenceActivity
- 14. 如何在android中更改微調器的分隔線的顏色?
- 15. 如何在pygame中繪製一條線並更改顏色?
- 16. 暫時更改可繪製顏色
- 17. 如何更改顏色UINavigation欄的分隔線
- 18. 如何更改PreferenceFragment警報對話框的分隔線顏色
- 19. 如何更改操作欄的分隔線顏色?
- 20. 如何更改Spinner的分隔線顏色?
- 21. 根據Android中的SeekBar更改可繪製顏色
- 22. Android GridView繪製分隔線
- 23. 更改分隔線顏色Android DatePicker對話框
- 24. 如何更改圓形ProgressDialog的顏色而不設置可繪製或更改顏色重音
- 25. 如何改變使用matplotlib和python繪製多線的顏色?
- 26. TabWidget changr底線顏色
- 27. 如何更改可繪製集的顏色爲android:background?
- 28. 更改Wordpress中多行文本分隔線的顏色?
- 29. 如何更改警報對話框標題分隔線顏色android
- 30. 如何更改微調控件的邊框和分隔線顏色
答案是好的,但我怎樣才能用相同的代碼設置顏色,而不是圖像。謝謝! – benoffi7 2014-01-25 16:18:40