我正在为我的EditText创建背景,我想在文本下添加一行。
我的背景代码:
<item android:state_pressed="true" android:state_focused="true">
<shape>
<solid android:color="#10FFFFFF" />
<corners android:radius="5dp" />
</shape>
</item>
如何在形状中添加线条?
从图形项目预览:
答案 0 :(得分:17)
试试这个(通过编辑Krylez发布的帖子找到答案)。 我测试了这个并且它有效。在drawable文件夹中创建XML,并根据需要设置颜色。然后设置为EditText的背景
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" /> <!--background color of box-->
</shape>
</item>
<item
android:top="-2dp"
android:right="-2dp"
android:left="-2dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dp"
android:color="#000000" /> <!-- color of stroke -->
</shape>
</item>
</layer-list>
答案 1 :(得分:1)
我已经重新创建了原始底线的行为。它包括边缘上的填充物和聚焦时的行为。
expression_edit_text_bgc_selector.xml (将其设置在android:background中)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:drawable="@drawable/expression_edit_text_bgc_focused"/>
<item android:drawable="@drawable/expression_edit_text_bgc_normal"/>
</selector>
expression_edit_text_bgc_focused.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!--<item android:drawable="@color/main_bg_color"/>-->
<item>
<shape>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item
android:gravity="bottom"
android:bottom="8dp"
android:left="4dp"
android:right="4dp">
<shape android:shape="rectangle">
<size android:height="2dp"/>
<solid android:color="?colorAccent"/>
</shape>
</item>
</layer-list>
expression_edit_text_bgc_normal.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!--<item android:drawable="@color/main_bg_color"/>-->
<item>
<shape>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item
android:gravity="bottom"
android:bottom="8dp"
android:left="4dp"
android:right="4dp">
<shape android:shape="rectangle">
<size android:height="1dp"/>
<solid android:color="?android:colorControlNormal"/>
</shape>
</item>
</layer-list>