我正在将TextInputLayout与AppCompatEditText一起使用,该AppCompatEditText具有基于自定义 xml 形状的背景。每当我设置一些错误时,错误行都会从布局的开头开始。有什么方法可以填充该错误行。
问问题
6564 次
3 回答
6
您可以使用以下方法引用错误 TextView:
TextView textView = (TextView) inputLayout.findViewById(android.support.design.R.id
.textinput_error);
然后您可以使用它的布局参数。
于 2017-05-31T13:01:13.317 回答
1
我努力解决这个问题,这对我有用:
删除我的错误文本视图的父级的填充
使用这个解决方案我可以找到错误文本视图(因为我需要向它添加一个图标)但无法摆脱填充,所以经过几次尝试后我意识到 TextInputLayout 有 2 个孩子所以从第二个孩子中删除填充成功了,为了确定,我也从第一个中删除了它
使用 Kotlin 扩展我想出了一个干净的解决方案
/**
* TextInputLayout
*/
fun TextInputLayout.removePadding() {
for (i in 0 until this.childCount) {
this.getChildAt(i).setPadding(0)
}
}
您也可以使用相同的逻辑在 java 中执行此操作。
于 2021-05-13T20:26:12.847 回答
0
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:id="@+id/tx_in_username"
android:errorEnabled="true"
android:layout_marginLeft="@dimen/margin_LEFT_RIGHT"
android:layout_marginRight="@dimen/margin_LEFT_RIGHT"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:layout_height="36sp"
android:hint="Username"
/>
于 2017-03-05T18:12:02.827 回答