簡體   English   中英

如何在ActionBarSherlock中設置標題顏色?

[英]How to set title color in ActionBarSherlock?

如何在ActionBarSherlock設置標題顏色?

我應該使用哪些主題屬性?

您可以輕松地執行此操作

getSupportActionBar().setTitle(Html.fromHtml("<font color='#ffffff'>App Name</font>"));

來自ActionBarSherlock網站

家長主題

為了使自定義操作欄實現功能,您的應用程序必須使用Theme.Sherlock,Theme.Sherlock.Light或Theme.Sherlock.Light.DarkActionBar,或者您的自定義主題必須使用前面提到的其中一個作為其父級。

鏡像屬性

由於Android主題系統的限制,任何主題自定義都必須在兩個屬性中聲明。 正常的android-prefixed屬性將主題應用於本機操作欄,未加前綴的屬性用於自定義實現...

簡而言之,這意味着你需要在設置ActionBar樣式時省略android:前綴。

主題標題顏色

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="YOURTHEME" parent="Theme.Sherlock.Light">
<item name="android:actionBarStyle">@style/YOURTHEME.ActionBarStyle</item>
<item name="actionBarStyle">@style/YOURTHEME.ActionBarStyle</item>
</style>

<style name="YOURTHEME.ActionBarStyle" parent="Widget.Sherlock.Light.ActionBar">
<item name="android:titleTextStyle">@style/YOURTHEME.ActionBar.TitleTextStyle</item>
<item name="titleTextStyle">@style/YOURTHEME.ActionBar.TitleTextStyle</item>
</style>

<style name="YOURTHEME.ActionBar.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">@color/YOUR_COLOR</item>
<item name="textColor">@color/YOUR_COLOR</item>
</style>
</resources>

注意

我沒有測試過這個。 還有, 你試過了什么? 您應該在將來發布到SO之前進行搜索。

我改變了這種方式的標題顏色:

在Styles.xml文件中,我添加了這些樣式

<style name="Theme.Styled" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/CustomActionBarStyle</item>
    <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>

<style name="CustomActionBarStyle" parent="@style/Widget.Sherlock.ActionBar">
    <item name="titleTextStyle">@style/CustomTitleColorBar</item>
    <item name="android:titleTextStyle">@style/CustomTitleColorBar</item>
</style>

<!-- Style for the color title bar -->
<style name="CustomTitleColorBar" parent="@style/TextAppearance.Sherlock.Widget.ActionBar.Title">
    <item name="android:textColor">@android:color/white</item>
</style>

我做的最后一件事是在活動中設置主題:

public static int THEME = R.style.Theme_Styled;

這行在super.onCreate()方法之前

setTheme(主題);

就是這個。

你可以在style.xml或編程中的2個地方做到這一點
1.從style.xml

2.或代碼

int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");  
TextView yourTextView = (TextView)findViewById(titleId);
yourTextView.setTextColor(getResources().getColor(R.color.myColor));

或者使用操作欄,您也可以實現此目的

getSupportActionBar().setTitle(Html.fromHtml("<font color='#ffffff'>App Name</font>"));

我認為您正在嘗試更改菜單上的文本顏色,而不是ActionBarSherlock標題中的文本顏色。

當您使用getSupportActionBar().SetTitle("My Title")來設置此文本的樣式時,您應該使用代碼@Archie.bpgc 他的回答是正確的,但我相信你需要以下代碼:

<style name="MyTheme.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Menu">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">24sp</item>
    <item name="android:gravity">center</item>
</style>

看到你只需用parent =" TextAppearance.Sherlock.Widget.ActionBar.Title">交換parent = "TextAppearance.Sherlock.Widget.ActionBar.Menu">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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