должен быть добавлен в сам ConstraintLayout.

тавь, что у тебя естьLinearLayo,ut внутриRelativeLayout который содержит 3TextViews с участиемartist, song and album:

<RelativeLayout
    ...
    <LinearLayout
        android:id="@id/text_view_container"
        android:layout_width="warp_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@id/artist"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Artist"/>

        <TextView
            android:id="@id/song"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Song"/>

        <TextView
            android:id="@id/album"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="album"/>
    </LinearLayout>

    <TextView
        android:id="@id/unrelated_textview1/>
    <TextView
        android:id="@id/unrelated_textview2/>
    ...
</RelativeLayout>        

Когда вы активируете TalkbackReader и нажимаете наTextView вLinearLayoutнапример, TalkbackReader будет читать «Исполнитель», «Песня» ИЛИ «Альбом».

Но вы могли бы поставить эти первые 3TextViews в фокус-группу, используя:

<LinearLayout
    android:focusable="true
    ...

Теперь TalkbackReader будет читать «Исполнитель Песня Альбом».

2unrelated TextViewsвсе равно был бы сам по себе и не читал, что такое поведение я хочу добиться.

(ВидетьПример Google Codelabs для справки)

Я сейчас пытаюсь воссоздать это поведение сConstrainLayout но не вижу как.

<ConstraintLayout>
    <TextView artist/>
    <TextView song/>
    <TextView album/>
    <TextView unrelated_textview1/>
    <TextView unrelated_textview2/>
</ConstraintLayout>

Помещение виджетов в «группу» не работает:

<android.support.constraint.Group
    android:id="@+id/group"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:importantForAccessibility="yes"
    app:constraint_referenced_ids="artist,song,album"
    />

Итак, как я могу заново создать фокус-группы для доступности вConstrainLayout?

[РЕДАКТИРОВАТЬ]: Похоже, что единственный способ создать решение - использовать «focusable = true» на внешнем ConstraintLayout и / или «focusable = false» на самих представлениях. Это имеет ряд недостатков, которые следует учитывать при работе с клавиатурой / переключателями:

https://github.com/googlecodelabs/android-accessibility/issues/4

Ответы на вопрос(3)

Ваш ответ на вопрос