EditTextビューにフォーカスするときに表示される境界線を削除するにはどうすればよいですか?
このビューには画面内のスペースがほとんどないため、必要ですが、境界線がなければ十分です。エミュレータで実行するとオレンジ色の境界線が表示され、デバイスでは青色の境界線が表示されます。
EditTextビューにフォーカスするときに表示される境界線を削除するにはどうすればよいですか?
このビューには画面内のスペースがほとんどないため、必要ですが、境界線がなければ十分です。エミュレータで実行するとオレンジ色の境界線が表示され、デバイスでは青色の境界線が表示されます。
回答:
の背景をEditText
透明色に設定してみましたか?
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/hello"
android:background="#00000000"
/>
"@android:color/transparent"
もう少し自明です。
"@null"
オプションにすることもできます
可能です。ただし、ユーザーは特定のメタファーに慣れており、一般的なUXを変更するべきではないため、お勧めしません。
ビューにさまざまなスタイルを適用できます。あなたの場合、TextView要素のように見えるEditTextView要素が必要なようです。この場合、View要素の状態に応じて、EditTextに他の背景を指定する必要があります。
目的のlayout.xmlで、EditTextに背景を割り当てます。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/hello" android:background="@drawable/custom"
/>
次に、drawableフォルダーにcustom.xmlを作成し、以下を追加します。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/textfield_default" />
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/textfield_disabled" />
<item android:state_pressed="true" android:drawable="@drawable/textfield_default" />
<item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_default" />
<item android:state_enabled="true" android:drawable="@drawable/textfield_default" />
<item android:state_focused="true" android:drawable="@drawable/textfield_disabled" />
<item android:drawable="@drawable/textfield_disabled" />
</selector>
これらは、EditTextView要素の可能な状態です。通常、を使用してAndroidプラットフォームのドローアブルに直接アクセスできます@android:drawable/textfield_default
が、この場合、テキストフィールドのドローアブルはプライベートであるため、独自のドローアブルフォルダにコピーする必要があります。元のリソースは、SDKインストールフォルダーのにありますANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\
。
完了すると、TextViewのように見えますが、これらの境界線がまったくないEditTextが作成されます。エミュレーターで見たオレンジ色の境界線は、デフォルトのAndroidドローアブルです。青いものはベンダー固有です(おそらくSamsung)。
それが助けになり、それほど混乱しなかったことを願っています。
背景色を透明のままにして、フォーカスのあるEditTextの境界線を削除できます。
方法1
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00000000"
/>