2016-08-22 10 views
7

アプリ全体のテキストの意味はどういうものですか?TextColor vs TextColorPrimary vs TextColorSecondary

もっと具体的に言えば、私は自分のアプリ全体でテーマを変更する際に、これらをそれぞれどのように変更するのでしょうか?ボタンのテキストをテキストビューとは異なる色にしたい。 1つはプライマリ、もう1つはセカンダリですか?

これらの用語に関連する情報はありがたいです!

答えて

10

TextColorは、特定のビューのテキストに色を設定するxml属性です。

TextColorPrimaryは、使用可能なボタンとLarge Textviewsのデフォルトのテキストカラーです。

TextColorSecondaryは、中および小文字テキストビューのデフォルトのテキストカラーです。

あなたがしたいことは、これを無視して、より良い方法があります。既定のテーマAppTheme(またはマニフェストでテーマとして宣言したもの)に、テキストの色をカスタマイズするために必要なxml属性が含まれるように、style.xmlを編集したいとします。

結果のAppThemeスタイルは、完了したときに次のようになります。

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:textColor">#hexColorForTextViews</item> 
    <item name="android:buttonStyle">@style/myDefaultButton</item> 
</style> 

textColorは、すべてのテキストビューのデフォルトの色を設定します。 buttonStyleは、すべてのボタンに必要なカスタムスタイルを参照します。これを行うには、styles.xmlファイルにこのスタイルタグを追加します。

<style name="myDefaultButton"> 
    <item name="android:textColor">#hexColorForButtons</item> 
    <!-- other stuff you want your buttons to inherit by default --> 
</style>