Appcompat v7 を使用した EditText の外観のカスタマイズ
Android の AppCompat v7 ライブラリは、さまざまな Android バージョン間で一貫性を維持します。ただし、ユーザーは EditText の外観、特に一番下の行とアクセント カラーを変更するのが難しい場合があります。
最初は、android:editTextStyle を使用して編集スタイルを変更しようとしましたが、失敗しました。背景色やテキスト色などのプロパティは変更できますが、ボトムラインやアクセントカラーは変更できません。 android:background や特定のプロパティ値によるカスタムのドローアブル イメージの調査も無駄であることが判明しました。
Android API 21 ソースを調査した結果、EditText の外観を制御するために colorControlActivated と colorControlNormal が使用されているという仮説が立てられました。ただし、EditText スタイルでこれらのプロパティをオーバーライドしても効果はありません。
ついに、解決策が見つかりました。アプリのテーマ定義で colorControlActivated、colorControlHighlight、colorControlNormal をオーバーライドすることで、目的の色のカスタマイズを実現できます。
<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>
このテーマをアクティビティに適用すると、目的の EditText の外観が得られます。
以上がAppCompat v7 で EditText の外観をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。