質問:
Appcompat v7 を使用して目的を達成する場合Android のバージョン間で一貫した UI を実現するには、EditText のボトムラインとアクセント カラーを変更するにはどうすればよいですか?
答え:
マテリアル デザインのカラー プロパティ:
マテリアル デザインの EditText で colorControlActivated と colorControlNormal が使用されているように見えますが、Appcompat を使用する場合、これらのプロパティは効果がありません。
テーマのオーバーライド:
解決策には、アプリケーション テーマでこれらの色のプロパティをオーバーライドすることが含まれます。次に例を示します。
<code class="xml"><style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorControlNormal">#c5c5c5</item> <item name="colorControlActivated">@color/accent</item> <item name="colorControlHighlight">@color/accent</item> </style></code>
これは、アプリケーション テーマのデフォルトの colorControlNormal、colorControlActivated、および colorControlHighlight プロパティをオーバーライドし、EditText の最下行とアクセント カラーを効果的に変更します。
使用法:
EditText の色をカスタマイズするアクティビティにこのテーマを適用します。例:
<code class="xml"><activity android:name=".MainActivity" android:theme="@style/Theme.App.Base" /></code>
この変更されたテーマを適用すると、EditTexts はカスタマイズされたボトムラインとアクセントカラーを継承します。
以上がAppcompat v7 で EditText のボトムラインとアクセントカラーを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。