0

初めてこの質問を見てみると、私はthisという質問を見つけましたが、答えがうまくいきませんでした。私はKitKat電話で働いていますが、私が読んだところでは、これはAppCompatライブラリを使って、あらかじめロリポップバージョンで行うことができます。私はthis GitHubリポ、より具体的にはthisコードサンプルを使用して入れ子の設定画面を作成しています。ここでネストされた嗜好アクティビティで異なる色のチェックボックスとツールバー

は、コードサンプルでSettingActivityのための私のAppTheme.SettingsThemeです:

<style name="AppTheme.SettingsTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="titleTextStyle">@android:color/white</item> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="colorControlNormal">#fff</item> 
</style> 

この行:<item name="colorControlNormal">#fff</item>は、テキストの両方を有するとし、テキストと戻る矢印を持っていることからToolbarを変更します戻る矢印が表示されます(これは良いです)。

問題は、私もこのラインで着色されCheckBoxPreferenceを持っているということですので、ときにチェックしないで、私はかろうじて(箱の色は白である)それを見ることができます。

enter image description here

enter image description here

私は(再びthis答えから)だけで、ツールバーのための特別なテーマを作成し、<item name="colorControlNormal">COLOR</item>をやってみましたが、そのだけのツールバーには影響しません。

私はまた、CheckBoxPreferenceだけを色づけしようとしましたが、それにカスタムレイアウトを作成することが含まれているように見えます。ここで

には現在、特定のテーマに、私のツールバーのレイアウトです:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    tools:context=".ui.activities.settingsActivity.SettingsActivity"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="?colorPrimary" 
     android:minHeight="?actionBarSize" 
     app:navigationContentDescription="@string/abc_action_bar_up_description" 
     app:navigationIcon="?homeAsUpIndicator" 
     app:title="@string/activity_settings_title" 
     app:titleTextColor="@android:color/white" /> 
</android.support.design.widget.AppBarLayout> 

誰もがseperatly CheckBoxPreferenceToolbarの着色にどのように説明できますか?私は彼らのどれがActivityThemeを使って着色している​​のか気にしません。それは私がそのカスタムに染みますtheme。私が見つけた答えはうまくいかなかった。

答えて

0

Activityの代わりにToolbarのテーマを具体的に使用してください。これは、ThemeOverlayスタイルのためのものです(必要に応じてcolorControlNormal属性を使用します)。あなたは暗いToolbarからの光をテーマにしたポップアップをご希望の場合は、また別の「ポップアップ」のテーマを定義することができます。

<style name="SettingsTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="SettingsTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/> 

<style name="SettingsTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/> 

次に、あなたがあなたのレイアウトでこれらのスタイルを適用することができますため

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/SettingsTheme.AppBarOverlay" 
    tools:context=".ui.activities.settingsActivity.SettingsActivity"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?colorPrimary" 
     android:minHeight="?actionBarSize" 
     app:navigationContentDescription="@string/abc_action_bar_up_description" 
     app:navigationIcon="?homeAsUpIndicator" 
     app:title="@string/activity_settings_title" 
     app:popupTheme="@style/SettingsTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 
+0

おかげであなたの答え。あなたは、テキストとバック矢印の色を白くして、ツールバーのみのテーマにどの程度正確に影響を与えているのかを例を挙げて教えてください。私はあなたが提供したコードをコピーしようとしました、それは私のツールバーのテキストとバックの矢印を黒にしました –

+0

@OfekAgmonこれは私のビルドで使用するコードです。 'ThemeOverlay.AppCompat.Dark.ActionBar'スタイルは' AppBarLayout'と 'Toolbar'にテキストとアイコンを白くする必要があります。あなたがテーマを正しく適用したことは確かですか? – Bryan

+0

はい、私はまさにその通りです。ThemeOverlay.AppCompat.Dark.ActionBarがツールバーとアイコンを白くする必要がある場合、ThemeOverlay.AppCompat.Lightは何ですか?とにかく、それはまだ私のアプリで黒です。 –

関連する問題