AccessibilityNodeInfo.AccessibilityAction.ActionScrollBackward 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
動作將節點內容往後捲動。
[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);
}
}
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。