gpt4 book ai didi

android - 使用 windowActionBarOverlay=true 时,无法让 ActionBar 首先获得可访问性焦点

转载 作者:太空狗 更新时间:2023-10-29 13:23:36 25 4
gpt4 key购买 nike

我有一个使用 <item name="android:windowActionBarOverlay">true</item> 的应用程序

出于某种原因,这会导致 ActionBar 位于辅助功能焦点列表的末尾,即使它首先出现在页面上,并且似乎具有更高的“z-index”(它绘制在 TextView 的顶部).

我创建了一个示例测试应用程序(参见屏幕截图),当我要求 TalkBack“从顶部阅读”时,它以“Hello World、Hello World、Hello World、Hello World”而不是“Action Bar Order”开头。 Screenshot with action bar overlapping TextViews at the top

测试项目是一个简单的 1 fragment Activity 。我的 xml 文件在下面, Activity 是来自 Android Studio 向导的样板文件。

activity_my.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MyActivity"
tools:ignore="MergeRootFrame" />

fragment _my.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MyActivity$PlaceholderFragment">

<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</RelativeLayout>

字符串.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">Action Bar Order</string>
<string name="hello_world">Hello world! \n Hello world! \n Hello World! \n Hello world!</string>
<string name="action_settings">Settings</string>

</resources>

谁能告诉我如何让 ActionBar 在这种情况下始终首先获得焦点?我尝试添加 marginTop 以查看是否有帮助,使 TextView 实际上出现在屏幕上比 ActionBar 更低的位置,但这也没有帮助。

最佳答案

因为我已经用尽了我的选择,并且@alanv(他绝对了解他关于 android 可访问性的东西)确认没有好的应用程序端解决方法,所以我最终在可访问性模式下更改主题以使用 <item name="android:windowActionBarOverlay">false</item> .这显然还有其他并发症 - 最明显的是屏幕空间变少了,但这是我能做的最好的了。

关于android - 使用 windowActionBarOverlay=true 时,无法让 ActionBar 首先获得可访问性焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com