簡體   English   中英

如何更改ActionBar標題的背景顏色?

[英]How to change background color of ActionBar title?

無論我如何修改樣式,紅色箭頭指向的框的背景顏色都不會從背景中改變。

IMG

我該如何改變顏色? 我的目標是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM