当前位置: 首页 > 知识库问答 >
问题:

使用windowActionBarOverlay=true时,无法使ActionBar首先获得辅助功能焦点

贺彬
2023-03-14

我有一个应用程序使用<code>

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

测试项目是一个简单的1片段活动。下面是我的xml文件,活动是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>

strings.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 更低的位置,但这也没有帮助。

共有1个答案

步胜
2023-03-14

因为我已经用尽了我的选择,而且@alanv(他肯定知道他关于android可访问性的东西)确认没有好的应用程序端解决方法,所以我最终在可访问性模式下将主题改为使用< code >

 类似资料:
  • 我在文本视图下方有一个水平回收器视图(最近的项目在最右边的位置,最古老的项目在最左边的位置)。一旦辅助功能控件到达文本视图,在向右滑动时,它会聚焦在回收器视图的最左边的项目(即第一个项目)。有没有办法我们可以将默认焦点设置为最右边的项目。

  • 为程序制作辅助功能是很重要的。在这里,我们很高兴地向你们介绍Devtron和Spectron。这两个新功能有机会使开发者们让他们的应用程序更加可用。 Electron 应用中有关辅助功能的开发和网站是相似的,因为两者最终使用的都是HTML. 然而, 对于Electron应用, 你不能使用在线的辅助功能审查者, 因为你的应用没有一个URL可以提供给审查者. 然而这些新功能将这些审查工具带到您的Ele

  • 为程序制作辅助功能是很重要的。在这里,我们很高兴地向你们介绍Devtron和Spectron。这两个新功能有机会使开发者们让他们的应用程序更加可用。 Electron 应用中有关辅助功能的开发和网站是相似的,因为两者最终使用的都是HTML. 然而, 对于Electron应用, 你不能使用在线的辅助功能审查者, 因为你的应用没有一个URL可以提供给审查者. 这些功能将会提供一些审查工具给你的Elec

  • 扩展使用者能够根据个人的能力和偏好创建理想的浏览体验。 扩展程序应包括可访问性组件,该组件通过使视力障碍,听力受损,肢体受限和其他残障人士能够访问扩展程序,从而鼓励包容性用户群。 每个人,不仅是有特殊需求的用户,都可以从辅助功能中受益。 视力障碍,肢体受限用户都将从键盘快捷键中受益。 字幕和笔录对聋哑用户至关重要,但也对语言学习者有所帮助。 人们可以通过多种方式与扩展互动。一些用户具有标准的显示器

  • 一般来说,可访问性意味着可用性,内容可访问意味着内容可用。 在软件方面,应用程序可访问意味着应用程序可供所有人使用。 在这里,所有意味着残疾人,视障者或使用屏幕阅读器使用计算机的人或者喜欢使用键盘而不是使用鼠标导航的人。 用键盘导航而不是使用鼠标。 可访问的应用程序称为ARIA(可访问的富Internet应用程序)。 Ext JS中的辅助功能 Ext JS旨在记住它应该适用于所有键盘导航。 它具有

  • 当按下按钮时,是否可以将可访问性焦点(Voiceover foriOS和Talkback for Android)移动到定义的小部件? 我尝试过在语义包中搜索,但我找不到一种方法来获得它。 让屏幕阅读器从头开始重新启动语义树就足够了。 我有一个包含3个页面和按钮,可以使用向后/向前移动。我想使用按钮(调用)进行更改时,将焦点移动到页面的开头。