是否有必要在setError(null)之前调用setErrorEnable(false)?为什么?我看不出有什么区别,但我看到很多人这样做。 解决方案如下: 无需同时调用它们两者。第一次为TextInputLayout设置错误时,它的EditText字段下的高度略有增加,以显示该错误。 如果使用setError(null)仅会删除错误文本,但是如果使用setErrorEnable(false)则会同时删除错误文本和多余的空间(请注意,如果您为TextInputLayout设置了一个辅助程序,则该错误会简单地替换为…

2020年10月8日 0条评论 26点热度 阅读全文

如您在图像中看到的,我正在使用具有轮廓框样式的材质textInputEditText。但是,我的提示“ Exchange”已被概述框覆盖。我该如何预防? 这是我的textfield.TextInputLayout代码: <com.google.android.material.textfield.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/Ex…

2020年9月25日 0条评论 28点热度 阅读全文

我需要对用TextInputEditText包装的TextInputLayout进行一些输入验证。 如果输入格式错误,我希望在行下方显示错误。 所有逻辑都在 View 模型中完成,而不是在 View (片段或 Activity )中完成。但是我似乎无法通过viewmodel访问该 View ,例如:textinputlayout.setError("error")在viewmodel中不起作用并且layout.findViewbyId(layoutId)在viewmodel中也不起作用。任何的想法? 解决方案如下:…

2020年8月16日 0条评论 30点热度 阅读全文

我需要以这种方式更改TextInputLayout行为。默认情况下,当用户单击布局内的EditText时,提示会离开文本框并移至上方。我需要实现的是:当用户单击EditText时,提示不起作用。用户开始键入时它将移动,然后返回时EditText为空。 我已经将自定义库与名为FloatingEditText的东西一起使用,但是不能与RTL布局一起正常使用。有谁知道如何使用TextInputLayout或从右到左的另一种方式来实现这一目标? 提前致谢! 解决方案如下: 您可以在标签部分输入要输入的名称,在印度部分输入提…

2020年5月12日 0条评论 24点热度 阅读全文

我创建了一个登录页面,该页面支持2种不同的语言(英语和法语)。 当我从一种语言翻译到另一种语言时,该页面工作正常。 但是问题是当我切换到法语时,对于字段验证不再出现setError消息。 此代码将根据lang选择加载页面: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.eng: String languageToLoad = "en"; Locale locale = new L…

2019年5月20日 0条评论 29点热度 阅读全文

在TextInputEditText上设置长错误消息时,它会将其剪切为两行,但仅显示一行: 有什么办法解决这个问题?我可以使用两行或多行,但是应该正确显示它们。 解决方案如下: 好吧,事实证明问题出在样式上……如果您执行以下操作: <style name="V2NormalInput" parent="Widget.AppCompat.EditText"> .... </style> 并将其应用于TextInputEditText,它将剪切错误消息... 因此,解决方案只是删除父级: <…

2019年1月14日 0条评论 24点热度 阅读全文