Удалить границу фокуса EditText


Как я могу удалить границу с появлением при фокусировке представления EditText?

Мне это нужно, потому что этот вид имеет мало места на экране, но без границы этого достаточно. При запуске на эмуляторе появляется оранжевая граница, на устройстве-синяя.

4 81

4 ответа:

вы пробовали установить фон EditText к прозрачному цвету?

<EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="@string/hello" 
android:background="#00000000"
/>
<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 в зависимости от состояния элемента представления.

в нужной компоновке.xml, которому вы назначаете фон ваш EditText:

<EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="@string/hello" android:background="@drawable/custom"
/>

затем вы создаете заказ.xml в вашей папке drawable и добавьте следующее:

<?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 платформы drawables непосредственно с помощью @android:drawable/textfield_default, но в этом случае текстовые поля drawables являются частными, поэтому вам нужно скопировать их в свою собственную папку drawable. Исходные ресурсы можно найти в папке установки 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"                 

 />