EditTextの背景色を透明に変更しました。これで、EditTextはフォーカスされていないときに見えなくなります。それでは、EditTextのフォーカスされていない境界線の色をどのように変更できますか?
これのXML属性は何ですか?
次のような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"
Edittextの背景を透明に設定するには、次を使用できます。
Android:background="@null"
次のリンクを参照してください
Android EditText Transparent Background
空の実装でEditTextウィジェットのonDraw()をオーバーライドしても効果はありません
http://www.androidworks.com/changing-the-Android-edittext-ui-widget
Android OS自体は、ユーザーがフォーカスを当てたときにEditTextに境界線を追加します。色はOSバージョンによって異なります。場合によっては、デフォルトのフォーカス境界を取り除きたい場合があります。それを行う方法があります。
背景色を透明のままにして、フォーカスのあるEditText境界線を削除することができます。
<EditText
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="#00000000"
/>
境界線にしたい色を背景色としてlinearlayoutを作成できます。次に、このLinearlayout
内に編集テキストを配置し、背景色を指定します。例:ボーダーが灰色の場合、Linearview
の背景は灰色です。テキストの背景を黒に編集します。
ボーダーの幅には、padding = "1dp"
ために border_width = "1dp"
。
回答には遅すぎましたが、新しい開発者向けにこのコードを書きました。
<?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>