Android辅助功能焦点 - 单击视图会将焦点更改为上一个视图

时间:2012-09-25 21:35:33

标签: android onclick focus accessibility

我正在使用android TalkBack来测试我的应用程序的可访问性。当我滑动以选择视图并双击时,焦点将返回其上方的视图。通常在滑动到视图并双击它时,会调用onClick。我做错了什么?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/all_white"
>
<ImageView   
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/header"
    android:scaleType="center"
/>
<ImageView   
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/green_bar"
    android:scaleType="center"
/>  
<ImageView   
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/blue_bar"
    android:scaleType="center"
/>
<EditText
    android:id="@+id/username"
    android:layout_width="325dp"
    android:layout_height="wrap_content"
    android:hint="@string/username"
    android:focusable="true"
    android:nextFocusDown="@id/password"
 />
<EditText
    android:id="@+id/password"
    android:inputType="textPassword"
    android:layout_width="325dp"
    android:layout_height="wrap_content"
    android:hint="@string/password"
    android:focusable="true"
    android:nextFocusUp="@id/username"
    android:nextFocusDown="@id/login"
/>
<Button
    android:id="@+id/login"
    android:onClick="doLogin"
    android:focusable="true"
    android:layout_width="325dp"
    android:layout_height="wrap_content"
    android:text="@string/login"
    android:nextFocusUp="@id/password"
    android:nextFocusDown="@id/create_trial_account"
/>
<Button
    android:id="@+id/create_trial_account"
    android:layout_width="100dip"
    android:layout_height="wrap_content"
    android:text="@string/new_user"
    android:onClick="createAccount"
    android:focusable="true"
    android:nextFocusUp="@id/login"
 />
<TextView
    android:id="@+id/copyright"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/copyright"
  />        
 <TextView
    android:id="@+id/buildNumber"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
 />
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

此行为是由Manifest supports-screens标记中的android:anyDensity设置为false引起的。删除属性后,它按预期工作。