【问题标题】:Android EditText background with line insideAndroid EditText背景,里面有线条
【发布时间】:2014-07-21 16:40:11
【问题描述】:

我正在为我的 EditText 创建背景,我想在文本下添加一行。

我的后台代码:

<item android:state_pressed="true" android:state_focused="true">
    <shape>
        <solid android:color="#10FFFFFF" />
        <corners android:radius="5dp" />
    </shape>
</item>

如何在形状内添加线条?

从图形项目预览:

【问题讨论】:

  • 最好的方法是创建一个空矩形(将实心设置为透明,将描边设置为所需的颜色)并用负偏移“推”顶部、左侧和右侧边缘。看到这个:stackoverflow.com/questions/19238738/…
  • 您创建一个 9-patch 图像并手动在其中画一条线。或者,如果您想做更多涉及编程的事情,您可以创建自己的 EditText 来画线:stackoverflow.com/a/6111460/394933跨度>

标签: android background android-edittext textfield underline


【解决方案1】:

试试这个(通过编辑 Krylez 发布的帖子找到答案)。 我已经对此进行了测试,并且可以正常工作。在可绘制文件夹中创建一个 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>

【讨论】:

    【解决方案2】:

    我重新创建了原始底线的行为。它包括边缘上的填充和聚焦时的相同行为。

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 2012-04-11
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      相关资源
      最近更新 更多