我在
TextInputLayout
中使用了一个EditText
,但是在将支持库升级到23.2.0之后,在logcat中出现了这个警告。请问常规的EditText
和TextInputEditText
有什么区别?我找不到任何相关文档。TextInputLayout
中使用了一个EditText
,但是在将支持库升级到23.2.0之后,在logcat中出现了这个警告。请问常规的EditText
和TextInputEditText
有什么区别?我找不到任何相关文档。我也有同样的疑问,Daniel Wilson收集了文档,但对于不熟悉的人来说,这些文档并没有多大意义。下面是它的含义:"提取模式"指的是当空间太小时显示的视图类型,例如在手机上的横屏模式。我正在使用装有Google键盘的Galaxy S4作为输入法编辑器(IME)。
根据焦点(在“说明”上),您可以看到TextInputLayout
在推动提示信息离开编辑器方面的作用。这里没有什么特别之处,这就是TextInputLayout
应该做的事情。
编辑名称,您会发现IME没有给出您正在编辑什么的提示。
编辑说明,您会发现IME给出了您正在编辑什么的提示。
两个字段之间的区别在于它们的类型:EditText
与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>
android:hint
属性应该放在 TextInputEditText
中而不是 TextInputLayout
。 - DriesOeyenTextInputEditText
是 UI 的实现细节。 - TWiStErRobEditText
类,具有一个额外的功能:EditorInfo.hintText
。您会注意到,在TextInputLayout
类中,您可以指定提示及其外观,而不是作为子EditText
小部件的一部分。TextInputEditText
,以便它关注您在TextInputLayout
中指定的提示信息。它们本质上是相同的东西,但我认为TextInputEditText
具有更多的功能和可能的属性。我改用TextInputEditText
,一切都像标准的EditText
一样工作和看起来。
TextInputEditText
会显示提示,而 EditText
不会。我遇到了这个问题,只需在我的xml文件中删除这一行:
android: fitsSystemWindows = "true"
错误消失了。