我将EditText的背景颜色改为透明。现在当没有焦点时,EditText看起来是不可见的。那么我如何更改EditText未获得焦点时的边框颜色呢?
这个XML属性是什么?
我将EditText的背景颜色改为透明。现在当没有焦点时,EditText看起来是不可见的。那么我如何更改EditText未获得焦点时的边框颜色呢?
这个XML属性是什么?
创建一个XML文件,将以下内容放在drawable目录下(比如backwithborder.xml):
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#00000000" />
<stroke android:width="1dip" android:color="#ffffff" />
</shape>
对于EditText的用户属性 android:background="@drawable/backwithborder"
虽然回答有些晚,但是我为新开发人员编写了这段代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/components_colorPrimaryDark" />
<solid android:color="@color/components_white" />
</shape>
</item>
<item android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="@color/components_white" />
</shape>
</item>
</layer-list>
</item>
<item android:state_focused="false">
<layer-list>
<item>
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/components_colorAccent" />
<solid android:color="@color/components_white" />
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/components_white" />
</shape>
</item>
</layer-list>
</item>
</selector>
当用户在Android操作系统上聚焦于EditText时,系统会自动添加边框。边框颜色取决于操作系统的版本。有时候我们可能想要去掉默认的焦点边框,这是可以实现的。
我们可以将背景颜色设置为透明来消除EditText焦点边框。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00000000"
/>
如果你只想改变EditText的边框颜色,可以使用属性app:backgroundTint
:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:backgroundTint="#000"
/>