持久性 BottomSheet 视图不会在(辅助功能)的对讲模式中获得焦点

Persistent BottomSheet Views do not get focus in Talkback mode on (Accessibility)

我有一个持久的底部sheet喜欢bottom_sheet_persistent.xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/bottomSheet"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:behavior_hideable="false"
    app:behavior_peekHeight="80dp"
    app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="230dp"
        android:background="#2196F3"
        app:layout_constraintTop_toTopOf="parent" >

        <TextView
            android:text="Text in Bottom Sheet"
            android:layout_width="match_parent"
            android:textSize="24sp"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

而底部sheet用过的activity是

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <androidx.coordinatorlayout.widget.CoordinatorLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#E7E7E7"
            app:layout_constraintTop_toTopOf="parent">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="bottom"
                android:paddingBottom="200dp"
                app:layout_constraintTop_toTopOf="parent" >
    
                <TextView
                    android:text="Text in Activity"
                    android:textSize="24sp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>
            </LinearLayout>
    
            <include
                android:id="@+id/bottomSheet"
                layout="@layout/bottom_sheet_persistent" />
        </androidx.coordinatorlayout.widget.CoordinatorLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>

当我打开辅助功能的对讲并且底部sheet展开时,Activity中的文本(将被底部sheet的文本视图重叠)这是在 bottomsheet 下方获得焦点。我怎样才能得到底部的焦点sheet(似乎很明显)。我试图让底部 sheet 可点击,但在那种情况下,整个底部 sheet 获得焦点而不是单个项目。

任何帮助或建议!

底部sheet布局的父视图会像这样

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/bottomSheet"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:behavior_hideable="false"
    app:behavior_peekHeight="80dp"
    android:focusable="true"
    android:importantForAccessibility="no"
    android:clickable="true"
    app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">

我遇到了同样的问题,我明确地调用 performAccessibilityAction() 修复了它。 在底部试试这个 sheet.

yourView.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS,null)