我有一个带有自定义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/

07-24 09:49
查看更多