有多行时如何在 EditText 上保持文本填充

How to maintain text padding on EditText when there are multiple lines

对于我正在处理的应用程序,我有一个允许用户输入数据的 editText。我已经在输入多行文本时不维护的输入上定义了填充。例如:

添加第二行文字后:

随着添加的行越来越多,我也看到父视图中edittext的位置越来越低:

我的编辑文本 XML 如下:

  <EditText
            android:id="@+id/message_edit"
            android:layout_width="0dp"
            android:layout_weight="0.75"
            android:layout_height="wrap_content"
            android:layout_marginRight="@dimen/dp_8"
            android:layout_marginLeft="5dp"
            android:layout_marginBottom="5dp"
            android:background="@drawable/someBackground"
            android:paddingLeft="@dimen/dp_12"
            android:paddingRight="@dimen/dp_3"
            android:elevation="3dp"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:hint="Type here"
            android:lineSpacingExtra="@dimen/dp_4"
            android:textColor="@color/black"
            android:textSize="@dimen/sp_17" />

我假设这两个问题是相关的,但我不确定根本原因是什么。

相反,android:paddingLeftandroid:paddingRight 仅使用 android:padding 来添加 padding。检查以下内容:

<EditText
    android:id="@+id/message_edit"
    android:layout_width="0dp"
    android:layout_weight="0.75"
    android:layout_height="wrap_content"
    android:layout_marginRight="@dimen/dp_8"
    android:layout_marginLeft="5dp"
    android:layout_marginBottom="5dp"
    android:background="@drawable/someBackground"
    android:padding="@dimen/dp_12"
    android:elevation="3dp"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:hint="Type here"
    android:lineSpacingExtra="@dimen/dp_4"
    android:textColor="@color/black"
    android:textSize="@dimen/sp_17" />

结果: