我将EditText的背景颜色更改为transperant。现在EditText在没有聚焦时看起来不可见。那么如何更改EditText的非聚焦边框颜色?
这是什么XML属性?
答案 0 :(得分:83)
在drawable中创建一个带有以下内容的XML文件(比如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"
答案 1 :(得分:10)
要将edittext的背景设置为透明,您可以使用以下内容:
android:background="@null"
请参阅以下链接
Android EditText Transparent Background
setting the background attribute to transparent in editext dynamically
Overriding onDraw() for an EditText widget with a blank implementation has no effect
http://www.androidworks.com/changing-the-android-edittext-ui-widget
答案 2 :(得分:3)
Android操作系统本身会在用户专注于EditText时为其添加边框。颜色取决于操作系统版本。有时我们可能想要摆脱默认的焦点边框,并且有办法实现它。
我们可以将背景颜色保持为透明,以移除焦点上的EditText边框。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00000000"
/>
答案 3 :(得分:3)
回答太晚了,但我为新开发人员编写了以下代码:
<?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>
答案 4 :(得分:2)
您可以使用背景颜色创建一个linearlayout,其颜色应为您想要的边框颜色。然后将编辑文本放在此Linearlayout
中并提供一些背景颜色。
例如:如果边框为灰色,则Linearview
的背景为灰色。
并编辑文本背景黑色。
对于padding = "1dp"
,您可以为border_width = "1dp"
提供{{1}}的边框宽度。
答案 5 :(得分:1)
如果只想更改EditText边框颜色,则可以使用attr .as-console-wrapper { max-height: 100% !important; top: 0; }
:
app:backgroundTint
答案 6 :(得分:0)
在drawable中创建文件edittext_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
<stroke android:width="1dp" android:color="#a17dff"/>
</shape>
</item>
</selector>
网站:https://code-android-example.blogspot.com/2019/10/change-edittext-boder-color-android.html