我用我的項目Android Navigation bar
, 我想在動作條上的顏色變成紅色的東西,我該怎麼做呢? 我有這樣的事情,如何設置自定義動作條的顏色/風格?
,我想這樣的事情,
我怎樣才能做到這一點?
我用我的項目Android Navigation bar
, 我想在動作條上的顏色變成紅色的東西,我該怎麼做呢? 我有這樣的事情,如何設置自定義動作條的顏色/風格?
,我想這樣的事情,
我怎樣才能做到這一點?
你可以通過定義動作條(和其他的東西)的顏色創建自定義風格:
只需編輯RES /值/ styles.xml文件的Android項目。
例如像這樣:
<resources>
<style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBarTheme</item>
</style>
<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">ANY_HEX_COLOR_CODE</item>
</style>
</resources>
然後設置「MyCustomTheme」作爲活動包含動作條的主題。
您還可以設置顏色爲動作條是這樣的:
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.RED)); // set your desired color
從這裏摘自:How do I change the background color of the ActionBar of an ActionBarActivity using XML?
對於Android的3.0和更高版本
在支持的Android 3.0及更高只,你可以定義操作欄的背景是這樣的:
RES /價值/的themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">#ff0000</item>
</style>
</resources>
對於Android 2.1及更高版本
當使用支持庫,你的風格的XML文件可能是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background</item>
</style>
</resources>
你的主題,然後應用到您的整個應用程序或個別活動:
更多細節Documentaion
製作的另一種可能性。
actionBar.setBackgroundDrawable(新ColorDrawable(Color.parseColor( 「#0000FF」)));
在style.xml添加此代碼
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyAction</item>
</style>
<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#333333</item>
</style>
</resources>
你可以這樣改變操作欄的顏色:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/green_action_bar</item>
</style>
這就是所有你需要改變操作欄的顏色。
另外,如果你想改變狀態欄的顏色只是添加一行:
<item name="android:colorPrimaryDark">@color/green_dark_action_bar</item>
下面是從開發商的Android網站進行屏幕截圖,以使其更清晰,這裏是一個link閱讀更多自定義顏色palete
非常有幫助的圖片,謝謝! –
一般Android操作系統利用一個「主題」,讓應用程序開發人員在全球範圍內應用一套通用的UI元素的造型參數到Android應用整體,或者,也可以是單個Activity子類。
所以有三種主流的Android OS「系統的主題,」你可以在你的Android清單XML文件,當您正在開發3.0版本的應用程序和更高版本
我指的(程序兼容性)支持庫指定這裏: - 所以三個主題是 1.程序兼容性光主題(Theme.AppCompat.Light)
AndroidManifest.xml中,看到了標籤,Android的主題被提及: - 機器人:主題= 「@風格/ AppTheme」
打開樣式s.xml,我們在此聲明基礎應用程序主題: -
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
我們需要重寫這些父主題元素以設置操作欄的樣式。
動作條不同顏色的背景: -
要做到這一點,我們需要創建一個新的風格MyActionBar與家長參考@風格/ Widget.AppCompat.Light(你可以給任何名稱) .ActionBar.Solid.Inverse,其中包含Android ActionBar UI元素的樣式特徵。所以定義是
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/red</item>
</style>
而且這個定義我們需要在AppTheme參考,指着重寫動作條造型as--
更改標題欄文本顏色(例如黑到白) : -
現在要更改標題文本顏色,我們需要覆蓋父引用parent =「@ style/TextAppearance.AppCompat.Widget。ActionBar.Title「>
所以風格的定義是
<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
</style>
我們將引用這個樣式定義的MyActionBar樣式定義內,因爲TitleTextStyle修改是動作條父母的子元素OS UI元素。所以MyActionBar風格元素的最後定義將
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/red</item>
<item name="titleTextStyle">@style/MyActionBarTitle</item>
</style>
所以這是最後的Styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- This is the styling for action bar -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/red</item>
<item name="titleTextStyle">@style/MyActionBarTitle</item>
</style>
<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
</style>
</resources>
如需進一步動作條選項菜單中的造型,正如我所用AppCompatActivity
以上的答案並沒有爲我工作的參考this link
嘿,它的工作。有人懷疑如果我想改變菜單溢出圖標的顏色,它會根據我們的主題改變顏色嗎?黑色主題的白色圖標和淺色主題的黑色圖標,我如何將它改爲白色?考慮你答案中的最後一張圖片。 –
。但是,下面的解決方案工作:
在RES/styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
</style>
PS:我用colorPrimary
,而不是android:colorPrimary
使用此 - http://jgilfelt.github.io/android-actionbarstylegenerator/
很好的工具,在兩分鐘的實時預覽來定製你的動作條。
儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Marusyk
自定義顏色:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/ColorPrimary</item>
<item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
<!-- Customize your theme here. -->
</style>
自定義樣式:
<style name="Theme.AndroidDevelopers" parent="android:style/Theme.Holo.Light">
<item name="android:selectableItemBackground">@drawable/ad_selectable_background</item>
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
<item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
<item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
<item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
<item name="android:listChoiceIndicatorMultiple">@drawable/ad_btn_check_holo_light</item>
<item name="android:listChoiceIndicatorSingle">@drawable/ad_btn_radio_holo_light</item>
</style>
瞭解更多:Android ActionBar
它的工作,謝謝 –
你是什麼意思「然後設置」MyCustomTheme「作爲你的活動的主題,包含ActionBar。」我怎麼做? –
在您的活動XML必須添加*機器人:主題=「@風格/ MyCustomTheme」 *爲 標籤 –
PedroD