添加的EditText不是TextInputEditText。 请切换到使用该类
我在TextInputLayout
使用EditText
,但是在将支持库升级到23.2.0之后,我在logcat中得到了这个警告,常规EditText
和TextInputEditText
什么区别? 我似乎无法find任何文件。
我也想知道这一点, 丹尼尔·威尔逊收集的文件,但对未经训练的眼睛,这并没有多大意义。 以下是它的全部内容: “提取模式”指的是当空间太小时显示的视图types,例如手机上的风景。 我使用Galaxy S4作为IME的Google键盘。
没有可见的IME的风景UI
基于焦点(在说明上),您可以看到TextInputLayout
正在执行将编辑器外部的提示。 这里没什么特别的,这是TextInputLayout
应该做的。
景观用户界面编辑空名称字段
编辑名称,你可以看到,IME并没有给你一个你正在编辑的提示。
横向UI编辑空描述字段
编辑描述,你可以看到IME给你一个你正在编辑的东西的提示。
布局XML
两个字段之间的区别是它们的typesEditText
VS TextInputEditText
。 这里最重要的是TextInputLayout
具有android:hint
而不是包装的EditText,这是在TextInputEditText
的几行Java代码有很大不同的情况下。
名称字段
<android.support.design.widget.TextInputLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Item Name" > <EditText android:id="@+id/name" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </android.support.design.widget.TextInputLayout>
说明字段
<android.support.design.widget.TextInputLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Item Description" > <android.support.design.widget.TextInputEditText android:id="@+id/description" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textMultiLine" android:minLines="4" android:scrollbars="vertical" /> </android.support.design.widget.TextInputLayout>
没有文档,但是这个类是一个常规的EditText
带有一个额外的function:
使用这个类允许我们在“提取”模式下在IME中显示一个提示。
具体来说,它设置EditorInfo.hintText
。 您会注意到,在TextInputLayout
类中,您可以指定提示及其外观,而不是作为子EditText
小部件的一部分。
如果您需要这样做,您应该使用TextInputEditText
以便注意您在TextInputLayout
指定的提示信息。
他们本质上是相同的东西,但我认为TextInputEditText
有更多的function和可能的属性。 我改成了TextInputEditText
,所有的工作和看起来像以前用标准的EditText
。
这个问题是旧的,但是我有这个问题,只是删除我的XML文件中的这一行:android:fitsSystemWindows =“true”,错误消失。