Как я могу удалить границу со значком при фокусировке в режиме EditText?
Мне это нужно, потому что в этом представлении мало места на экране, но без рамки этого достаточно. При работе в эмуляторе появляется оранжевая рамка, на устройстве - синяя.
android
android-edittext
Маркос Васконселос
источник
источник
Ответы:
Вы пробовали установить
EditText
прозрачный цвет фона?<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="#00000000" />
источник
"@android:color/transparent"
немного более самоочевидно."@null"
тоже может быть вариант<EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background_normal" />
источник
Возможно. Однако я бы не рекомендовал это, потому что пользователи привыкли к определенным метафорам, и вам не следует менять общий UX.
Вы можете применять к своим представлениям разные стили. В вашем случае похоже, что вам нужен элемент EditText View, который выглядит как элемент TextView. В этом случае вам нужно будет указать другие фоны для EditText в зависимости от состояния элемента View.
В желаемом файле layout.xml вы назначаете фон своему EditText:
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="@drawable/custom" />
Затем вы создаете 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>
Это возможные состояния вашего элемента представления EditText. Обычно вы можете получить доступ к чертежам платформы Android напрямую, используя
@android:drawable/textfield_default
, но в этом случае чертежи текстового поля являются частными, поэтому вам нужно скопировать их в свою собственную папку для рисования. Исходные ресурсы можно найти в папке установки SDK по адресуANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\
.Как только вы закончите, вы получите EditText, который выглядит как TextView, но полностью без этих границ. Те оранжевые границы, которые вы видели в эмуляторе, являются чертежами Android по умолчанию. Синие - это конкретные производители (возможно, Samsung).
Надеюсь, что это помогло и не сильно смущало.
источник
Это самое быстрое решение:
<EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" />
источник
Вы можете оставить цвет фона прозрачным, чтобы убрать границу EditText в фокусе.
Способ 1
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#00000000" />
источник