Remove focus border of EditText
如何在聚焦EditText视图时删除边框?
我需要它,因为这个视图在屏幕上占用的空间很小,但没有边框就足够了。 在模拟器上运行时,将显示橙色边框,在设备上显示蓝色边框。
您是否尝试将
1 2 3 4 5 6 | <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="#00000000" /> |
1 2 3 4 5 6 7 | <EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background_normal" /> |
有可能的。但是我不推荐它,因为用户习惯于某些比喻,你不应该改变一般的UX。
您可以为视图应用不同的样式。在你的情况下,听起来你想要一个看起来像TextView元素的EditText View元素。在这种情况下,您必须根据View元素的状态为EditText指定其他背景。
在您想要的layout.xml中,为EditText指定一个背景:
1 2 3 4 5 | <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hello" android:background="@drawable/custom" /> |
然后在drawable文件夹中创建custom.xml并添加以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 | <?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 View元素的可能状态。通常,您可以使用
es\drawable-(*dpi)\
完成后,最终会得到一个看起来像TextView但完全没有这些边框的EditText。您在模拟器中看到的那些橙色边框是默认的Android drawable。蓝色的是供应商特定的(可能是三星)。
希望有所帮助,并没有混淆那么多。
这是最快的解决方案:
1 2 3 4 5 6 7 | <EditText android:id="@+id/edittext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" /> |
您可以将背景颜色保持为透明,以删除焦点上的EditText边框。
方法1
1 2 3 4 5 | <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#00000000" /> |