如何带回旧的EditText组件?

时间:2018-12-21 09:16:42

标签: java android android-studio android-layout kotlin

我想在android中使用旧的EditText材质组件。目前,我正在使用最新的材料组件库,因为有很多使用它的视图。

implementation 'com.google.android.material:material:1.1.0-alpha02'

但是,我想使用旧的EditText。

我尝试将boxBackgroundMode设置为none,我得到了想要的。但是提示的左边还有一点空白。

这是我使用的代码。

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/tilLoginEmail"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/margin_xl"
    android:layout_marginEnd="@dimen/margin_xl"
    android:hint="@string/label_email"
    app:boxBackgroundMode="none"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="@id/tvLoginWelcome"
    app:layout_constraintTop_toBottomOf="@id/tvLoginWelcome">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/etEmail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress" />

</com.google.android.material.textfield.TextInputLayout>

https://i.imgur.com/QQxRzly.jpg

结果是,提示的左边有一点空白,我希望空白消失。我该怎么办?

2 个答案:

答案 0 :(得分:2)

您可以将TextInputLayout的样式设置为style =“ @ style / Widget.Design.TextInputLayout”。

<com.google.android.material.textfield.TextInputLayout
    style="@style/Widget.Design.TextInputLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

答案 1 :(得分:0)

如果使用版本28.0.0的支持库,则无需使用该库即可获得相同的素材感。

implementation 'com.android.support:design:28.0.0'

然后将此代码添加到您的XML文件中:

 <android.support.design.widget.TextInputLayout
          android:id="@+id/tilUsername"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:hint="@string/username">

         <android.support.design.widget.TextInputEditText
              android:id="@+id/tetUsername"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:inputType="text"/>

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

将来,如果您想对FilledBox使用任何OutlinedBoxTextInputLayout,只需添加一个style就可以做到。

style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"

在这种情况下,您的TextInputLayout将如下所示:

<android.support.design.widget.TextInputLayout
          android:id="@+id/tilUsername"
          style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:hint="@string/username">