7

以下のように試しているアクションバーのタイトルの色を変更しようとしています:

Styles.xml (v14) に以下を追加しました。

<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="actionBarStyle">@style/MyTheme.ActionBarStyle</item>
        <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
        <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
        <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
        <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item>
        <item name="colorAccent">@color/greenText</item>
    </style>

    <style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
        <item name="background">@color/whiteText</item>
    </style>

    <style name="AppTheme.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle">
        <item name="color">@android:color/black</item>
    </style>

    <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/actionbar_blackText</item>
    </style>

私のマニフェストで:私は同じテーマを使用しています。

私のアクティビティ クラス: FragmentActivity を AppCompatActivity に変更しました。

OnCreate は次のようになります。

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        getSupportActionBar().setDisplayOptions(getSupportActionBar().getDisplayOptions() | android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);
        ImageView imageView = new ImageView(getSupportActionBar().getThemedContext());
        imageView.setScaleType(ImageView.ScaleType.CENTER);
        imageView.setImageResource(R.drawable.logoforactionbar);
        android.support.v7.app.ActionBar.LayoutParams layoutParams = new android.support.v7.app.ActionBar.LayoutParams(android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT,  android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT, Gravity.END | Gravity.CENTER_VERTICAL);
        layoutParams.rightMargin = 20;
        imageView.setLayoutParams(layoutParams);
        getSupportActionBar().setCustomView(imageView);

        getSupportActionBar().setTitle(getResources().getString(R.string.register_new));
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setIcon(android.R.color.transparent);

        setContentView(R.layout.register_new);
    }

しかし、タイトル テキストの色が変わらないか、黒い上向き矢印も表示されません。文字と矢印は白...

ナビゲーションドロワーを持つ別の AppCompatActivity でも同じことがうまく機能するのは奇妙です。

次のような結果が得られます。

ここに画像の説明を入力

ロゴ部分をカットしました。とにかく、黒いタイトルと黒い矢印があるはずですが、表示されません。

4

2 に答える 2

16

これを貼り付けて、この XML の色を独自の色に変更するだけです。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimaryDark">#cc0986ff</item>
    <item name="colorPrimary">#ff0c84e8</item>
    <item name="android:textColorPrimary">#fdfff2</item>
    <item name="android:windowBackground">@android:color/white</item>
    <item name="android:editTextColor">@android:color/background_dark</item>
    <item name="android:textColor">@android:color/background_dark</item>
    <item name="colorControlNormal">@android:color/background_dark</item>
    <item name="colorControlActivated">#ff0043c5</item>
    <item name="colorControlHighlight">#ffcb6345</item>
</style>
于 2015-06-02T02:42:56.857 に答える