首页 > 解决方案 > 从 XML 将输入类型设置为 TextInputEditText

问题描述

我正在使用这个com.google.android.material.textfield.TextInputLayout来编辑文本。

问题是当我尝试从 XMl 设置这个android:inputType="textCapSentences"时它不起作用但是当我以编程方式设置它时它正在工作。

那个属性有什么问题?

代码:

<com.google.android.material.textfield.TextInputLayout
                            android:layout_width="0dip"
                            android:layout_weight="0.4"
                            android:id="@+id/tilFPCode"
                            app:errorTextAppearance="@style/style_EditText_ErrorStyle"
                            app:hintTextAppearance="@style/style_EditText_HintStyle"
                            android:layout_height="wrap_content">

                        <com.google.android.material.textfield.TextInputEditText
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:maxLines="1"
                                android:maxLength="5"
                                android:id="@+id/etFPCode"
                                android:imeOptions="actionDone"
                                android:inputType="textCapCharacters"
                                android:textAllCaps="true"
                                android:hint="@string/forgot_sec_code_hint"
                                style="@style/style_EditText"/>

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

标签: androidandroid-edittext

解决方案


您必须android:inputType="textCapSentences"像这样直接在编辑文本中应用:

<android.support.design.widget.TextInputLayout
       android:id="@+id/XXX"
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

      <android.support.design.widget.TextInputEditText
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:inputType="textCapSentences"
        />
</android.support.design.widget.TextInputLayout>

你也可以用 EditText 替换 TextInputEditText


推荐阅读