web-dev-qa-db-ja.com

ActionBarSherlockでタイトルの色を設定するにはどうすればよいですか?

ActionBarSherlockでタイトルの色を設定するにはどうすればよいですか?

どのテーマ属性を使用する必要がありますか?

14
Sander Versluys

ActionBarSherlock Webサイトから

親のテーマ

カスタムアクションバーの実装を機能させるには、アプリケーションでTheme.Sherlock、Theme.Sherlock.Light、またはTheme.Sherlock.Light.DarkActionBarを使用するか、カスタムテーマで前述のいずれかを親として使用する必要があります。

ミラーリングされた属性

Androidのテーマシステムの制限により、テーマのカスタマイズは2つの属性で宣言する必要があります。通常のAndroidプレフィックス付き属性は、テーマをネイティブアクションバーに適用し、プレフィックスなし属性はカスタム実装用です...

つまり、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 [〜#〜] に投稿する前に検索する必要があります未来。

35
adneal

あなたは簡単にこれを行うことができます

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

この方法でタイトルの色を変更しました:

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(THEME);

これです。

24
shontauro

ActionBarSherlockTitleにあるテキストの色ではなく、Menにあるテキストの色を変更しようとしていると思います。

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">と交換するだけです。

1
Thiago Pimentel

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>"));
1
TanvirChowdhury