聚焦EditText视图时,如何删除出现的边框?
我需要它,因为该视图在屏幕上的空间很小,但是没有边框就足够了。在仿真器上运行时,会出现橙色边框,在设备上会显示蓝色边框。
聚焦EditText视图时,如何删除出现的边框?
我需要它,因为该视图在屏幕上的空间很小,但是没有边框就足够了。在仿真器上运行时,会出现橙色边框,在设备上会显示蓝色边框。
Answers:
您是否尝试过将的背景设置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元素的EditText View元素。在这种情况下,您必须根据View元素的状态为EditText指定其他背景。
在所需的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 View元素的可能状态。通常,您可以使用直接访问Android平台可绘制对象@android:drawable/textfield_default
,但是在这种情况下,文本字段可绘制对象是私有的,因此您必须将它们复制到自己的可绘制文件夹中。原始资源可以在SDK安装文件夹中找到ANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\
。
完成后,您将获得一个EditText,看起来像TextView,但完全没有这些边界。您在模拟器中看到的那些橙色边框是默认的Android drawable。蓝色的是特定于供应商的(可能是三星)。
希望能有所帮助,不要造成太大的混淆。
这是最快的解决方案:
<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"
/>