40

ボックスのフォーカス カラー (オレンジ) を変更するにはどうすればよいEditTextですか?

フォーカス カラーは、コントロール全体を囲む小さな縁で、コントロールにフォーカスがある場合は明るいオレンジ色になります。そのフォーカスの色を別の色に変更するにはどうすればよいですか?

4

3 に答える 3

64

独自のNinePatch画像を作成/変更してデフォルトの画像を置き換え、それをEditTextの背景として使用する必要があります。プラットフォームの下のSDKフォルダーを見てから、res / drawableを見ると、EditTextフォーカス状態のNinePatchイメージが見つかります。変更したいのがそれだけの場合は、Photoshopまたはお持ちの画像編集ソフトウェアにプルして、オレンジ色をお好みの色に変更できます。次に、それをドローアブルフォルダーに保存し、次のような新しいStateListDrawableを作成します。

edittext_modified_states.xml

<?xml version="1.0" encoding="utf-8"?>
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item 
        android:state_pressed="true"
        android:drawable="@android:drawable/edittext_pressed" 
        /> <!-- pressed -->    
    <item 
        android:state_focused="true"
        android:drawable="@drawable/edittext_focused_blue" 
        /> <!-- focused -->    
    <item 
        android:drawable="@android:drawable/edittext_normal" 
        /> <!-- default -->
</selector>

EditTextのデフォルトのNinePatchesの実際の名前がわからないので、必要に応じて置き換えますが、ここで重要なのは、@android:drawable変更していない画像の画像を使用することです(または、画像をコピーしてプロジェクトのドローアブルフォルダ)を選択し、変更したドローアブルをフォーカスされた状態に使用します。

次に、次のように、このStateListDrawableをTextViewの背景として設定できます。

<TextView
    android:background="@drawable/edittext_modified_states"
于 2011-01-03T15:29:49.547 に答える
0
<?xml version="1.0" encoding="utf-8"?>
<selector 
xmlns:android="http://schemas.android.com/apk/res/android"
>
    <item 
      android:state_pressed="true"
      android:color="colorcode" 
    /> <!-- pressed -->    
    <item 
       android:state_focused="true"
       android:color="colorcode"
    /> <!-- focused -->    
    <item 
           android:color="colorcode"
    /> <!-- default -->
</selector>
于 2012-10-31T06:09:09.407 に答える