在编辑文本android

时间:2018-01-10 21:44:41

标签: android android-edittext

我有一个多行的编辑文本。我将行数设置为5,但是当编辑文本绘制时,它显示空行,然后是编辑文本的标准行。我想在所有线下画一条线。这是编辑文本:

<EditText
    android:id="@+id/task_editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:text="Some text"
    android:lines="5"
    android:maxLines="10"
    android:inputType="textMultiLine"
    />

屏幕:

enter image description here

怎么做?

1 个答案:

答案 0 :(得分:1)

据我所知EditText没有直接的方式到所有行的下划线。 虽然有办法,

multi_line.xml中创建drawable并定义所需的所有行(在此示例中仅定义了5行)

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:gravity="bottom"
        android:top="-60dp">
        <shape
            android:shape="line">
            <stroke android:width="1dp"
                android:color="#000"/>
        <!--you can change the color or width of every single line-->
        </shape>
    </item>
    <item
        android:gravity="bottom"
        android:top="-20dp">
        <shape
            android:shape="line">
            <stroke android:width="1dp"
                android:color="#000"/>
        </shape>
    </item>
 <item
     android:gravity="bottom"
        android:top="20dp">
        <shape
            android:shape="line">
            <stroke android:width="1dp"
                android:color="#000"/>
        </shape>
    </item>
 <item
     android:gravity="bottom"
        android:top="60dp">
        <shape
            android:shape="line">
            <stroke android:width="1dp"
                android:color="#000"/>
        </shape>
    </item>
    <item
        android:gravity="bottom"
        android:top="100dp">
        <shape
            android:shape="line">
            <stroke android:width="1dp"
                android:color="#000"/>
        </shape>
    </item>

</layer-list>

android:top属性的已使用值 (-60dp-20dp20dp60dp100dp)可以更改,具体取决于字体大小。

然后使用multi_line.xml作为background

<EditText
    android:id="@+id/task_editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:text="Some text"
    android:lines="5"
    android:maxLines="10"
    android:inputType="textMultiLine"
    android:gravity="top"
    android:background="@drawable/multi_line"
    />

注意:此示例未在不同屏幕上进行测试。