我想滾動當前屏幕。 我試過這個 AccessibilityNodeInfo accessibilityNodeInfo=getRootInActiveWindow(); accessibilityNodeInfo.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_DOWN);
但我總是說「不能在密封的實例上執行此操作」。請致電 。使用AccessibilityService中的AccessibilityNodeInfo執行滾動
0
A
回答
0
第一:你試圖做什麼的問題。
當你看到這
無法在密封的情況下執行此操作。
此消息是Android告訴你所設置的信息已設置。你能說出一個不可滾動的視圖是否合理?沒有。您不能強制視圖滾動。可滾動的視圖取決於視圖。例如,一個可滾動的Button是沒有意義的!無障礙服務不能強制這種行爲。
應用程序的根節點很可能是某種類型的框架佈局,並且永遠不可滾動。層級的可滾動部分幾乎總是主佈局/根視圖的子元素。道德的故事,你不能說一個視圖是可滾動的,你必須找到一個可滾動的視圖。
這就是說,我會給你一個更好的解決方案,希望它在你支持的設備範圍內。
@TargetApi(Build.VERSION_CODES.M)
public boolean scrollTo(AccessibilityNodeInfo nodeInfo) {
return nodeInfo.performAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SHOW_ON_SCREEN.getId());
}
如果需要支持版本befor版本的Android M,你需要做的就是探索AccessibilityNodeInfo層次的佈局,其中,這是真正的內部觀點是什麼,這看起來大概像這樣(沒有測試,但應該非常接近!):
public boolean scrollView(AccessibilityNodeInfo nodeInfo) {
if (nodeInfo == null) return false;
if (nodeInfo.isScrollable()) {
return nodeInfo.performAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
}
for (int i = 0; i < nodeInfo.getChildCount(); i++) {
if (scrollView(nodeInfo.getChild(i)) {
return true;
}
}
return false;
}
相關問題
- 1. 如何滾動滾動AccessibilityNodeInfo節點
- 2. 使用AccessibilityService在屏幕上執行滑動操作
- 3. 向上滾動並在輔助功能使用AccessibilityNodeInfo服務
- 4. 如何在Android中單擊浮動按鈕時通過AccessibilityService執行滾動事件?
- 5. 使用兩個滾動視圖執行同步滾動
- 6. AccessibilityNodeInfo值
- 7. 使用Wix執行回滾
- 8. AccessibilityService
- 9. 使用Android AccessibilityService和nativescript
- 10. 在$(window)上執行scrollTop動畫。使用jquery的滾動
- 11. 無法在iOS WebView中使用JavaScript執行器執行輕掃或滾動
- 12. 取得Android AccessibilityNodeInfo
- 13. Android AccessibilityNodeInfo performAction ACTION_ACCESSIBILITY_FOCUS
- 14. AccessibilityService在MonoDroid的
- 15. 如何調用setServiceInfo動態在AccessibilityService
- 16. 如何執行自動滾動?
- 17. 如何在滾動時執行滾動視圖內的操作?
- 18. AccessibilityService更改AlertDialog中的EditText
- 19. 自動填充登錄使用AccessibilityService的Android
- 20. 無法通過AccessibilityService的Intent啓動Activity
- 21. FC嘗試啓動我的Android AccessibilityService
- 22. 我們可以使用頁面對象執行滾動嗎?
- 23. 關於android,如何使用AccessibilityService
- 24. 使用AccessibilityService更改通知聲音
- 25. 使用按鈕/鼠標滾輪滾動時執行某些操作
- 26. 在窗口上滾動在JQuery中的滾動計數項的類和特定項滾動執行功能?
- 27. jquery滾動不能正確執行
- 28. 在滾動元素上執行代碼
- 29. 窗口滾動多功能執行
- 30. 星火執行日誌(錯誤)滾動
請檢查我的問題,我編輯。 不,我不想支持Android M我想在Android-O –
上執行此操作。但是,當滾動向左和向右滾動時,有四個選項可以向左和向右滾動,但是我想執行並且我該怎麼做呢? 否則在兩個選項中它很好用。 –
更好的解決方案也適用於Android O. @TargetApi是一個「最小值」,並非確切的。嘗試這種方法。 – ChrisCM