[英]How to change background color of ActionBar title?
無論我如何修改樣式,紅色箭頭指向的框的背景顏色都不會從背景中改變。
我該如何改變顏色? 我的目標是4.0+而不關心4.0-設備和操作系統。
這是我的styles.xml文件的鏈接。 對不起,由於這個項目屬於NDA,我不得不審查一些事情。
我嘗試了很多東西,包括:
windowTitleBackgroundStyle
更改android:background
actionBarStyle
更改android:background
actionBarWidgetStyle
更改android:background
android:actionBarItemBackground
這些都不起作用。 該文本視圖似乎始終堅持我的基本主題的android:background
值,沒有任何東西可以覆蓋它。
我錯過了什么或做錯了什么?
那你需要用windowBackground改變android:background
<style name="CCCBaseTheme" parent="@android:style/Theme.Holo">
<item name="android:windowBackground">@color/nav_background</item>
<item name="android:textColor">@color/text</item>
<item name="android:actionBarStyle">@style/CCCWidgetActionBar</item>
</style>
希望這會有所幫助。
你的xml文件有interint部分:
<!-- ActionBar -->
<style name="CCCWidgetActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@color/nav_background</item>
<item name="android:textColor">@color/nav_text</item>
<item name="android:titleTextStyle">@style/CCCWidgetActionBarTitle</item>
<item name="android:textViewStyle">@style/CCCWidgetActionBarTitle</item>
<item name="android:windowTitleStyle">@style/CCCWindowTitle</item>
<item name="android:windowTitleBackgroundStyle">@style/CCCWindowTitleBackground</item>
<item name="android:windowBackground">@color/nav_background</item>
</style>
只是改變 :
<item name="android:background">@color/nav_background</item>
通過
<item name="android:background">@color/pink</item>
或任何其他顏色。
對我來說很好。
您可以自定義操作欄,並可以根據需要更改標題背景顏色。
請遵循以下步驟:
只有這樣才能使Custom Sherlock成為Title。
在App上為標題創建單獨的xml文件。
該文件包含這樣的..
在這個自定義布局中,我們可以使用顏色代碼更改背景顏色。
header_sherlock.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="3"
android:background="#008000"
>
<TextView
android:id="@+id/header_tvleft"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="left"
android:layout_marginTop="@dimen/margintop"
android:clickable="true"
android:paddingLeft="@dimen/layoutpaddingleft"
android:text="Textview"
android:textColor="#ffffff"
android:textSize="@dimen/header_leftbtn"
/>
<TextView
android:id="@+id/header_tvcenter"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:layout_marginTop="@dimen/margintop"
android:layout_marginRight="@dimen/sherlockpaddingright"
android:layout_marginLeft="@dimen/sherlockpaddingleft"
android:text="Textview"
android:textColor="#ffffff"
android:textStyle="bold"
android:textSize="@dimen/header_title"
/>
<TextView
android:id="@+id/header_tvright"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="right"
android:layout_marginTop="@dimen/margintop"
android:clickable="true"
android:paddingRight="@dimen/layoutpaddingright"
android:text="Textview"
android:textColor="#ffffff"
android:textSize="@dimen/header_rightbtn"
/>
</LinearLayout>
對於MainActivity或要添加標題的活動:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.header_sherlock);
header_tvleft = (TextView) findViewById(R.id.header_tvleft);
header_tvleft.setText("LeftTitleName");
header_tvcenter = (TextView) findViewById(R.id.header_tvcenter);
header_tvcenter.setText("CenterTitleName");
header_tvright = (TextView) findViewById(R.id.header_tvright);
header_tvright.setText("RightTitleName");
試試這個方法..
這是一個古老的問題,但我只是有完全相同的問題 - 對我來說問題是我有這個問題:
<item name="android:actionBarItemBackground">@drawable/btn_dark</item>
<item name="actionBarItemBackground">@drawable/btn_dark</item>
其中btn_dark是一個重復使用的drawable,用於定義啟用,按下和禁用狀態顏色的通用按鈕。 它在較新的設備上工作正常,但在我的舊2.3手機上我得到了標題的灰色背景。
有趣的是,禁用狀態(我將其設置為深灰色)在舊設備上應用於操作欄標題的背景。 將禁用的顏色設置為透明是修復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.