我無法通過編程方式更改v11及更高版本的android操作欄標題顏色。我可以在xml中完成它,但需要在代碼中動態更改它。我應該怎麼做呢?提前致謝。如何更改代碼中的操作欄標題顏色
回答
ActionBar
標題ID是隱藏的,或者換句話說,它是內部的,並且通常無法訪問它。不過,您可以使用Resources.getIdentifier
然後View.findViewById
來引用它。
抓住ID爲action_bar_title
int titleId = getResources().getIdentifier("action_bar_title", "id", "android");
現在,如果你使用Sherlock Actionbar您可以使用夏洛克 - 動作條-ID可以使用ID與TextView
TextView abTitle = (TextView) findViewById(titleId);
abTitle.setTextColor(colorId);
支持的操作條(Android 3.0以下)
int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
if (0 == titleId)
titleId = com.actionbarsherlock.R.id.abs__action_bar_title;
廣東話只是這樣做:getSherlockActivity()getSupportActionBar()。的setTitle( 「TITLE」); ?? – marchinram 2013-04-04 05:27:25
原因,你可以這樣做,當你只是想更改標題。但這個問題即將改變標題顏色。 – salcosand 2013-04-12 11:08:30
因此,你需要得到ActionBar中TextView的,併到那裏你需要TextView的標識。而且這個ID在Sherlock ActionBar和那個本質上是不同的。 – salcosand 2013-04-12 11:15:30
另一種方式是使用HTML
getSupportActionBar().setTitle((Html.fromHtml("<font color=\"#FF4444\">" + getString(R.string.some_string) + "</font>")));
這是我認爲最符合防彈要求的答案。 – Ercan 2014-12-05 13:57:40
這仍然是我設置它的最可靠的方法。 – DarkWolffe 2015-04-08 20:26:42
您可以使用SpannableString和ForegroundColorSpan設置標題
Spannable text = new SpannableString(actionBar.getTitle());
text.setSpan(new ForegroundColorSpan(Color.BLUE), 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
actionBar.setTitle(text);
這應該是公認的解決方案,依靠內部API(action_bar_title id)是一個壞主意,因爲它可能會在沒有通知的情況下更改。 – fernandohur 2014-09-04 23:28:21
這是最好的答案。特別針對使用v7 appcompat庫的KitKat action_bar_title id解決方案中的FAIL。使用這個答案! – Codeversed 2014-11-26 04:12:34
作品像一個魅力 – Dien 2016-02-14 04:41:22
的顏色如果使用v7 appcompat library(與R22進行測試),那麼你可以調用setTitleTextColor()
對Toolbar
對象替換所有API級別的操作欄。例如:
Toolbar actionBarToolbar = (Toolbar)activity.findViewById(R.id.action_bar);
if (actionBarToolbar != null)
actionBarToolbar.setTitleTextColor(Color.RED);
- 1. 更改操作欄標題顏色
- 2. 如何在Xamarin中更改操作欄標題顏色android
- 3. 如何更改回窄和更改操作欄中的顏色
- 4. 更改操作欄標題的顏色Android
- 5. 更改WinForm中標題欄的顏色
- 6. 如何使用lwuit更改標題欄中的標題顏色?
- 7. 更改操作欄的背景顏色
- 8. 更改操作欄的顏色
- 9. 更改操作欄標題字體和顏色
- 10. Android操作欄標題 - 更改背景顏色
- 11. Actionbarsherlock - 更改操作欄線條顏色
- 12. 更改操作欄菜單顏色
- 13. 如何更改動作欄標題的顏色?
- 14. 更改NSWindow標題欄的顏色
- 15. 如何更改框架「JAVAFX」中的標題欄的顏色?
- 16. 更改WPF標題欄背景顏色
- 17. flexdashboard - 更改標題欄顏色
- 18. 如何更改Android中工具欄標題的顏色?
- 19. 如何更改android活動中的標題欄顏色?
- 20. 更改Appcompat主題的操作欄顏色
- 21. 如何更改操作欄的分隔線顏色?
- 22. 如何更改操作欄的顏色(actionbarsherlock)
- 23. 如何在運行時更改操作欄顏色android
- 24. 如何更改操作欄背景顏色上按住home鍵?
- 25. 如何更改操作欄背景顏色
- 26. 如何更改操作欄/標題欄的字體?
- 27. 如何更改facet_wrap標題的顏色?
- 28. 如何通過代碼設置導航欄的標題顏色?
- 29. 如何更改Cocoa應用程序的標題欄顏色?
- 30. 如何在swift中更改標籤欄的色調顏色?
它不適用於我的摩托剃刀。 – antonio081014 2012-10-29 22:06:38
它不適用於我:/ – Si8 2013-12-05 22:27:27
這個東西對我來說不起作用。爲了確保在actionbar中沒有靜態標題,所以我在getIdentifier方法調用中使用了「action_bar_title」。 「id」和「android」也一樣。我正在使用v7-appcompat庫。 – MSIslam 2014-01-02 17:36:25