在FrameLayout内移动焦点

时间:2014-11-17 17:41:04

标签: android android-layout focus accessibility

目前,我们有一个包含FrameLayout的DrawerLayout和一个带有页脚信息的LinearLayout。 FrameLayout包含内容片段。在辅助功能模式下,页脚在帧之前获得焦点。我们希望帧的内容首先得到焦点。但是,包含页脚信息的LinearLayout始终在FrameLayout的内容之前获得焦点。

我们尝试将<requestFocus />添加到FrameLayout和FrameLayout的内容中,其中:focusable:focusableInTouchMode设置为true,<setFocusForward>设置为FrameLayout,并在内容片段中调用requestFocus()requestFocus()返回true,但它似乎不会保持焦点。

layout.xml

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".NavigationControllerActivity" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#FFFFFF" >
    </FrameLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="8"
        android:orientation="vertical" >

        <TextView/>

    </LinearLayout>

有没有什么方法可以让FrameLayout的内容在它下面的LinearLayout之前获得焦点?

1 个答案:

答案 0 :(得分:-2)

设置

android:importantForAccessibility = "true"
在Framelayout内容中