我有一个带有自定义EditText的TextInputLayout
,如下所示:
<android.support.design.widget.TextInputLayout
android:id="@+id/complaint_user_email_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:accessibilityLiveRegion="polite"
android:contentDescription="@string/complaint_user_email"
android:labelFor="@+id/required_complaint_user_email">
<com.company.app.ui.customview.ClearableEditText
android:id="@+id/required_complaint_user_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/complaint_user_email"
android:imeOptions="actionNext"
android:inputType="textEmailAddress"
android:maxLength="100"
app:field_is_required="true" />
</android.support.design.widget.TextInputLayout>
edittext的大多数可访问性都在起作用,因此提示/标签由对讲发出。但是问题是,当我在代码中以编程方式为该字段设置验证错误时:
complaint_user_email_layout.isErrorEnabled = true
complaint_user_email_layout.error = getString(stringId)
对讲功能看不到EditText下面的错误,当我选择该字段时,它不会发音。我该如何同谋这种行为?
最佳答案
新材料组件com.google.android.material.textfield.TextInputLayout
随即提供了此行为。
无需配置,并且还可以使用自定义EditText。
https://material.io/develop/android/docs/getting-started/