Android Edittext Multiline - 修复线高

时间:2017-04-13 06:33:41

标签: android android-edittext multiline

<style name="MessageInput">
    <item name="android:gravity">top</item>
    <item name="android:singleLine">false</item>
    <item name="android:lines">4</item>
    <item name="android:minLines">4</item>
    <item name="android:minHeight">10dp</item>
    <item name="android:maxLines">4</item>
    <item name="android:inputType">textMultiLine</item>
    <item name="android:scrollHorizontally">false</item>
    <item name="android:background">?android:attr/colorBackground</item>
    <item name="android:layout_weight">1</item>
    <item name="android:textSize">18sp</item>
    <item name="android:focusable">true</item>
    <item name="android:isScrollContainer">true</item>
    <item name="android:padding">10dp</item>
    <item name="android:textColor">?android:attr/textColor</item>
    <item name="android:paddingTop">40dp</item>
    <item name="android:paddingLeft">10dp</item>
    <item name="android:paddingRight">10dp</item>
    <item name="android:lineSpacingExtra">18dp</item>
    <item name="android:lineSpacingMultiplier">1</item>
</style>

这是我在EDITTEXT中使用的样式,但我的结果显示初始显示为多行edittext,文本以正确间隔的多行显示。 但问题是,一旦我开始添加文本和行,行高度的空间就不像之前显示的那样。我需要一个具有最多4行或任意行数的常量LINE HEIGHT的edittext。

在此输入图片说明 enter image description here

这是一个示例edittext ...默认情况下最初显示前3行,并且显示效果很好。但是,如果我按下回车键,则行间距消失,并以上述方式显示文本。

我实际上使用自定义edittext来显示下划线。如下所示:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <jp.softbank.wallet.view.LinedEditText
        android:id="@+id/edittext_message"
        style="@style/MessageInput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

1 个答案:

答案 0 :(得分:2)

试试这个:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine"
    android:lines="4"
    android:minLines="4"
    android:maxLines="4"
    android:gravity="top" />

<强>输出

enter image description here