Android:TextInputLayout总是从顶部留下一些空间

时间:2016-11-19 18:22:08

标签: android android-layout

我有这个布局:

<LinearLayout
    android:id="@+id/dialogCentralContent"
    android:gravity="center_horizontal"
    android:layout_width="220dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/phoneNumberInfo"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="20dp"
    android:layout_centerHorizontal="true"
    android:orientation="horizontal"
    android:background="@drawable/edittext_white_rounded">

    <EditText
        android:layout_width="0dp"
        android:layout_height="60dp"
        android:layout_weight="1"
        android:gravity="center"
        android:maxLines="1"
        android:inputType="none"
        android:focusable="false"
        android:text="@={dataContext.phonePrefix}"
        style="@style/Widget.App.PurchaseAmountEditText" />

    <android.support.design.widget.TextInputLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        tools:errorEnabled="true"
        app:errorText="@{dataContext.validator.phoneValidation}">

        <android.support.design.widget.TextInputEditText
            android:layout_height="60dp"
            android:layout_width="match_parent"
            android:gravity="center"
            android:maxLines="1"
            android:inputType="phone"
            android:text="@={dataContext.phoneNumber}"
            style="@style/Widget.App.PurchaseAmountEditText" />

    </android.support.design.widget.TextInputLayout>

</LinearLayout>

看起来像这样:

enter image description here

正如您所看到的,第二个EditText的渲染率低于第一个TextInputLayout。当我在Android Studio的可视化编辑器中查看它时,我可以看到paddingTop="0dp"顶部有一些可用空间,但设置EditText并没有改变任何内容。那么如何使这两个{{1}}以同样的方式呈现呢?

2 个答案:

答案 0 :(得分:3)

默认情况下,TextInputLayout会在浮动提示文字的顶部留出空间。如果您不使用浮动提示,则可以通过将以下内容添加到开头<TextInputLayout>元素来删除该空格。

app:hintEnabled="false"

TextInputEditText为空时,常规提示文字仍会显示。

答案 1 :(得分:-1)

我使用了材质 TextInputLayout。 我已经设置了 app:hintEnabled="false" 但它没有帮助。我已将 android:paddingTop="0dp" 设置为 EditText(在 TextInputLayout 内)并且它可以工作。