【问题标题】:Material TextInputEditText not able to center hint and to keep input value moved to bottom材质 TextInputEditText 无法居中提示并将输入值移动到底部
【发布时间】:2021-02-06 11:24:24
【问题描述】:

https://material.io/components/text-fields 上有一个填充文本字段的交互式演示。 标签提示在输入字段内居中,当您单击它并输入一些文本时,标签会向上移动并且您输入的文本略低于中心(低于先前提示的位置)

问题是我无法在 Android 上重现此行为,因为我输入的文本与占位符保持在同一位置。

没有居中的提示和图标,但它们应该是

这是正确的,因为标签向上移动并且密码在中心线下方

代码:

   <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/et_password"
            style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense"
            android:layout_width="0dp"
            android:layout_height="65dp"
            android:layout_marginTop="16dp"
            android:background="@drawable/edittext_bg"
            android:hint="@string/password"
            app:boxStrokeWidth="1dp"
            app:passwordToggleEnabled="true">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/tiet_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#00000000"
                android:inputType="textPassword"
                android:textSize="17sp" />
        </com.google.android.material.textfield.TextInputLayout>

【问题讨论】:

    标签: android material-design material-components-android android-textinputlayout android-textinputedittext


    【解决方案1】:

    试试这个

    <com.google.android.material.textfield.TextInputLayout
                android:layout_width="match_parent"
                android:hint="First Name"
                android:layout_height="wrap_content"
                app:hintTextAppearance="@style/formTextAppearance">
    
                <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/firstNameEditText"
                    android:layout_width="match_parent"
                    android:layout_height="40dp"
                    android:layout_margin="2dp"
                    android:importantForAutofill="no"
                    android:background="@null"
                    android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
                    android:inputType="textCapSentences"
                    android:maxLength="150"
                    android:textSize="18sp" />
    
            </com.google.android.material.textfield.TextInputLayout>
    

    @styles ...

    <style name="formTextAppearance" parent="@android:style/TextAppearance">
            <item name="android:textColor">@android:color/black</item>
            <item name="android:textColorHint">@android:color/black</item>
            <item name="colorAccent">@android:color/black</item>
            <item name="colorControlNormal">@android:color/black</item>
            <item name="colorControlActivated">@android:color/black</item>
            <item name="android:textSize">14sp</item>
        </style>
    

    【讨论】:

    • 嗯,这并不能解决我的问题。为什么你认为应该?主要区别是什么?
    猜你喜欢
    • 2019-01-16
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 2015-11-03
    相关资源
    最近更新 更多