web-dev-qa-db-ja.com

EditTextの境界線の色(フォーカスなし)を変更するには?

EditTextの背景色を透明に変更しました。これで、EditTextはフォーカスされていないときに見えなくなります。それでは、EditTextのフォーカスされていない境界線の色をどのように変更できますか?

これのXML属性は何ですか?

37

次のようなXMLファイルをdrawableで作成します(backwithborder.xmlなど):

<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:shape="rectangle">
    <solid Android:color="#00000000" />
    <stroke Android:width="1dip" Android:color="#ffffff" />
</shape>

また、EditTextユーザー属性Android:background="@drawable/backwithborder"

84
Vikram
10
Shruti

Android OS自体は、ユーザーがフォーカスを当てたときにEditTextに境界線を追加します。色はOSバージョンによって異なります。場合によっては、デフォルトのフォーカス境界を取り除きたい場合があります。それを行う方法があります。

背景色を透明のままにして、フォーカスのあるEditText境界線を削除することができます。

     <EditText 
         Android:layout_width="fill_parent"
         Android:layout_height="wrap_content"
         Android:background="#00000000"
      />
3
Sravani

境界線にしたい色を背景色としてlinearlayoutを作成できます。次に、このLinearlayout内に編集テキストを配置し、背景色を指定します。例:ボーダーが灰色の場合、Linearviewの背景は灰色です。テキストの背景を黒に編集します。

ボーダーの幅には、padding = "1dp" ために border_width = "1dp"

2
mayuri

回答には遅すぎましたが、新しい開発者向けにこのコードを書きました。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_focused="true">
    <layer-list>
        <item>
            <shape Android:shape="rectangle">
                <stroke Android:width="2dp" Android:color="@color/components_colorPrimaryDark" />
                <solid Android:color="@color/components_white" />
            </shape>
        </item>

        <item Android:bottom="2dp">
            <shape Android:shape="rectangle">
                <solid Android:color="@color/components_white" />
            </shape>
        </item>
    </layer-list>
</item>
<item Android:state_focused="false">
    <layer-list>
        <item>
            <shape Android:shape="rectangle">
                <stroke Android:width="1dp" Android:color="@color/components_colorAccent" />
                <solid Android:color="@color/components_white" />
            </shape>
        </item>

        <item Android:bottom="1dp">
            <shape Android:shape="rectangle">
                <solid Android:color="@color/components_white" />
            </shape>
        </item>
    </layer-list>
</item>
1
jordiz