如何让Android可访问性对讲发音TextInputLayout错误

时间:2018-08-16 11:15:54

标签: android accessibility android-textinputlayout talkback

我有一个TextInputLayout,带有这样的自定义EditText:

 <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>

大多数编辑文本的可访问性都在起作用,因此提示/标签由对讲语音通知。但是问题是,当我在代码中以编程方式为该字段设置验证错误时:

    complaint_user_email_layout.isErrorEnabled = true
    complaint_user_email_layout.error = getString(stringId)

对讲功能看不到EditText下面的错误,当我选择该字段时,它不会发音。我该如何同谋这种行为?

1 个答案:

答案 0 :(得分:1)

此行为随新的材料成分com.google.android.material.textfield.TextInputLayout开箱即用。

无需配置,也可以使用自定义EditText。

enter image description here