語言

AccessibilityNodeInfo.AccessibilityAction.ActionScrollBackward 屬性

定義

動作將節點內容往後捲動。

[Android.Runtime.Register("ACTION_SCROLL_BACKWARD")]
public static Android.Views.Accessibility.AccessibilityNodeInfo.AccessibilityAction ActionScrollBackward { get; }
[<Android.Runtime.Register("ACTION_SCROLL_BACKWARD")>]
static member ActionScrollBackward : Android.Views.Accessibility.AccessibilityNodeInfo.AccessibilityAction

屬性值

屬性

備註

動作將節點內容往後捲動。

實作這點的 UI 元素應該會發送一個 AccessibilityEvent.TYPE_VIEW_SCROLLED 事件。 根據方向,此元素還應加入相關的方向性捲動動作,如ACTION_SCROLL_LEFT、ACTION_SCROLL_RIGHT、ACTION_SCROLL_UP和ACTION_SCROLL_DOWN。 如果捲動時會將下一個或上一個元素作為中心元素出現,例如在 ViewPager2 中,請使用 ACTION_PAGE_DOWN 和其他頁面動作來取代方向動作。

onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
     super.onInitializeAccessibilityNodeInfo(info);
     if (canScrollBackward) {
         info.addAction(ACTION_SCROLL_BACKWARD);
         if (leftToRight) {
             info.addAction(ACTION_SCROLL_LEFT);
         } else {
             info.addAction(ACTION_SCROLL_RIGHT);
         }
     }
}
performAccessibilityAction(int action, Bundle bundle) {
     if (action == ACTION_SCROLL_BACKWARD) {
         scrollBackward();
     } else if (action == ACTION_SCROLL_LEFT) {
         if (!isRTL()){
             scrollBackward();
         }
     } else if (action == ACTION_SCROLL_RIGHT) {
         if (isRTL()){
             scrollBackward();
         }
     }
}
scrollBackward() {
    ...
    if (mAccessibilityManager.isEnabled()) {
        event = new AccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SCROLLED);
        event.setScrollDeltaX(dx);
        event.setScrollDeltaY(dy);
        event.setMaxScrollX(maxDx);
        event.setMaxScrollY(maxDY);
        sendAccessibilityEventUnchecked(event);
   }
}

Android 參考資料。android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於