問題タブ [android-accessibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
304 参照

android - RecyclerView のレイアウト動作

私は他のアプリのレイアウトAccessibilityServiceアクセスすることに取り組んでいます。

たとえば、カスタム レイアウトがある場合、次のように、XML 内の各ビューのフォーカス処理を正確に行います。

を使用したとき、レイアウトをナビゲートする目的でシステムにorをListView送信して動作を定義しました。KEYCODE_DPAD_UPKEYCODE_DPAD_DOWN

今、私は a を使用する必要がありRecyclerView、正しい順序でビューのアイテムにアクセスする方法を正確に理解できません。

正しい順序とは:

正しい順序とは

レイアウトの順序が で機能する方法について教えてもらえますかRecyclerView?

0 投票する
3 に答える
1368 参照

accessibility - Android デバイスで TalkBack をオンにしてボタン (またはその他のウィジェット) をフォーカスする方法は?

アプリケーションにアクセシビリティを実装しています。シナリオは次のとおりです。

画面の一番上 (Activity) に 4 つのボタンが水平に配置されています。ボタンをクリックすると、ユーザーに何かを表示する警告ダイアログが起動します。アラートが表示された状態でも、画面上部の 4 つのボタンをクリック操作できます。Android デバイスで TalkBack (Android アクセシビリティ サービス) をオンにしてそのボタンをクリックすると、アラートが表示されますが、フォーカスを移動できません (Android フォンで TalkBack 機能がオンになっているときに表示される黄色の長方形のボックス) ) それらの 4 つのボタンに。助けてください!

0 投票する
1 に答える
914 参照

android - AccessibilityService が実際のデバイスで機能しない

このドキュメントに従って AccessibilityService を作成しました: https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html

ここでコードをコピーする必要はないと思います。すべてを段階的に実行し、試したすべてのエミュレーター (19 ~ 25 の API) で正常に動作しますが、実際のデバイス (API 25) では動作しません。 . 実際のデバイスでは、onServiceConnected メソッドが呼び出されることはありません。私が持っている唯一の本物のデバイスです。何を試すことができますか?この問題の原因は何ですか?

編集:今、別の実際のデバイス(Android 4.4)で試してみましたが、それでも動作します。今、私は本当に混乱しています。

0 投票する
1 に答える
308 参照

android - ListView が空のときにフォーカスを処理する方法

環境

レイアウトのさまざまなビューのフォーカス順序を指定する必要があるため、完全にアクセスできる必要があるアプリを開発しています。

私のレイアウトは次のようになります (数字はフォーカス順序を定義し、3ListView一般的なビューです):

マイレイアウト

XML の関連部分 (自分のニーズに合わせて意図的に使用nextFocusDownしたのではなく、使用したことを考慮して):nextFocusForward

これは、ListView がアイテムで満たされている場合にうまく機能し、フォーカスは意図したとおりに動作します。1 ⇒ 2 ⇒ 3 (アイテムごと) ⇒ 4 ⇒ 1 ... など。

問題

ListViewが空のとき、Android フォーカス マネージャーは 2 番目のビューでスタックしているようです。フォーカスが項目2に達すると、ListViewさらに少ないビューから 4 番目のビューにはフォーカスが与えられません。私のリストにアイテムが含まれていない場合、フォーカスを2から4に直接移動したいからです。

質問

何か不足していますか、それともコード内の他の何かがこの奇妙な動作を引き起こす可能性がありますか?

0 投票する
2 に答える
1660 参照

android - AccessibilityTraversalOrder の後方互換性

Android のビューで AccessibilityTraversalOrder をプログラムで設定しようとしていますが、API レベル 22 でうまく機能しています。トラバーサル順序を設定するために呼び出すメソッドがあります。

そして、このように AccessibilityDelegate を設定します。

最小 API バージョン 16 (JellyBean) をサポートする必要があるため、このソリューションは拡張できません。それで、 AccessibilityNodeInfoCompat クラスについて知りました。このようなヘルパーメソッドでこのようなクラスを使用しようとしました。

このソリューションには 2 つの問題があります。 1: ユーザーが画面上のそのビューに触れるとすぐにデリゲートが再度呼び出され、そのノードが再度初期化されるため、機能しません。そのため、ここで設定した traversalAfter 値が失われます。2: ここでもノードをリークしていますが、いつリサイクルするべきかわかりません。

NodeInfoCompat と AccessibilityDelegateCompat を使用して Android の下位互換性をフックする方法を教えてください。

0 投票する
2 に答える
4227 参照

automation - adb shell で Talkback が有効にならない

adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackServiceadbシェルからトークバックを有効にするコマンドを試しました。トークバックのステータスを示す ui ボタンを切り替えていますが、トークバックは実際には有効になっていません。Android 6.0 のトークバックをプログラムで有効にしようとしています。それを有効にできる他の方法はありますか?