Android NestedScrollView TalkBack - 仅导航到屏幕上可见的项目,跳过滚动条下方的元素并直接到达底部选项卡。
创始人
2024-08-14 20:30:09
0

要实现Android NestedScrollView中TalkBack只导航到屏幕上可见的项目,并跳过滚动条下方的元素直接到达底部选项卡,可以使用以下方法:

  1. 在XML布局文件中,将NestedScrollView包裹在AccessibilityDelegateCompat中,并设置AccessibilityDelegateCompat类的实例作为NestedScrollView的AccessibilityDelegate。


    


  1. 在Java代码中,为NestedScrollView创建AccessibilityDelegateCompat类的实例,并覆盖其performAccessibilityAction()方法。在该方法中,根据要求导航到屏幕上可见的项目,并跳过滚动条下方的元素直接到达底部选项卡。
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.core.widget.NestedScrollView;

public class CustomAccessibilityDelegate extends AccessibilityDelegateCompat {

    @Override
    public boolean performAccessibilityAction(View host, int action, Bundle args) {
        if (action == AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD) {
            NestedScrollView nestedScrollView = (NestedScrollView) host;
            int visibleChildCount = nestedScrollView.getChildCount();

            if (visibleChildCount > 0) {
                View lastVisibleChild = nestedScrollView.getChildAt(visibleChildCount - 1);

                if (lastVisibleChild != null) {
                    ViewCompat.AccessibilityDelegateCompat.super.performAccessibilityAction(lastVisibleChild, action, args);
                    return true;
                }
            }
        }

        return ViewCompat.AccessibilityDelegateCompat.super.performAccessibilityAction(host, action, args);
    }
}
  1. 将创建的AccessibilityDelegateCompat实例设置为NestedScrollView的AccessibilityDelegate。
NestedScrollView nestedScrollView = findViewById(R.id.nestedScrollView);
CustomAccessibilityDelegate accessibilityDelegate = new CustomAccessibilityDelegate();
ViewCompat.setAccessibilityDelegate(nestedScrollView, accessibilityDelegate);

通过以上步骤,TalkBack将只导航到屏幕上可见的项目,并跳过滚动条下方的元素直接到达底部选项卡。请根据自己的需求进行适当调整和修改。

相关内容

热门资讯

存在八分钟!wpk微扑克辅助存... 存在八分钟!wpk微扑克辅助存在wpk ai机器人(的确是有挂的)-微博客户端;亲,关键说明,wpk...
ai辅助8分钟!WePoKe外... ai辅助8分钟!WePoKe外挂德州ai辅助神器(就是真的有挂)-知乎;1、德州ai辅助神器系统规律...
ai辅助五分钟!来玩德州有外挂... ai辅助五分钟!来玩德州有外挂aapoker线上规律(果真真的有挂)-小红书1、进入到来玩德州有外挂...
合作3分钟!微扑克有稳赢的打法... 合作3分钟!微扑克有稳赢的打法wpk德州辅助器是真的是假(就是真的有挂)-知乎1、wpk德州辅助器是...
ai代打2分钟!德扑之星创建房... ai代打2分钟!德扑之星创建房间设置aapoker软件有猫腻(果然真的有挂)-小红书1、点击下载安装...
输赢四分钟!云扑克德州有挂we... 输赢四分钟!云扑克德州有挂wepower辅助软件(其实真的有挂)-百度知乎1、下载好云扑克德州有挂辅...
透明挂一分钟!aapoker钻... 透明挂一分钟!aapoker钻石代理有挂的wpk俱乐部机器人(的确真的有挂)-今日头条;1、首先打开...
苹果版9分钟!微扑克辅助器是真... 苹果版9分钟!微扑克辅助器是真的德州aapoker俱乐部(果然真的有挂)-小红书;1、微扑克辅助器是...
私人局十分钟!德州ai辅助神器... 私人局十分钟!德州ai辅助神器软件wepoke辅助机器人(果真真的有挂)-微博客户端;1、下载好德州...
合作8分钟!德州之星辅助器可以... 合作8分钟!德州之星辅助器可以用pokernow可以加注(的确真的有挂)-今日头条1、玩家可以在德州...