ホームページ  >  記事  >  Java  >  AppCompat v7 で EditText の外観をカスタマイズするにはどうすればよいですか?

AppCompat v7 で EditText の外観をカスタマイズするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-01 21:09:02963ブラウズ

How to Customize EditText Appearance with AppCompat v7?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。