小说网站搭建教程,做网站的技术要求高吗,用腾讯云做淘宝客网站视频,建设部标准规范网站在安卓应用设计和开发过程中#xff0c;设计人员为了界面简洁、有独特的交互方式#xff0c;可能会为控件设计特殊的操作手势#xff0c;例如消息列表中单指按住消息向左滑删除消息#xff1b;系统顶部的通知单指向左滑可以关闭通知等。这些操作对于普通用户非常方便#… 在安卓应用设计和开发过程中设计人员为了界面简洁、有独特的交互方式可能会为控件设计特殊的操作手势例如消息列表中单指按住消息向左滑删除消息系统顶部的通知单指向左滑可以关闭通知等。 这些操作对于普通用户非常方便但是此种操作方式没有做特殊支持的话可能让某些障碍用户无法使用此功能。如果是一名通过屏幕阅读器使用应用的视障用户他们就很难借助屏幕阅读器完成此操作。 此时应该像原生Android系统中的通知一样给控件添加自定义操作提示和操作支持。1、添加自定义操作重写View类OnInitialzeAccessibilityNodeInfo()的方法如果是标准控件可以通过无障碍代理View.AccessibilityDelegate重写此方法。在此方法中首先调用父类的实现然后调用AccessibilityNodeInfo对象的addAction方法添加自定义的事件。注意1.这里添加的自定义事件的事件ID必须大于16进制的0x01ffffff因为0x01ffffff本身以及小于此值都是系统定义的事件的ID。2.自定义事件必须提供事件描述文本不提供描述文本无障碍服务将无法提示和获取到此事件。下面是样例代码Overrideprotected void onInitialzeAccessibilityNodeInfo(AccessibilityNodeInfo info){//调用父类实现super.onInitializeAccessibilityNodeInfo(info);//设置自定义事件node.addAction(new AccessibilityAction(0x02000000, 菜单1));node.addAction(new AccessibilityAction(0x02fffffe, 菜单2));}2、响应自定义操作添加了自定义操作事件之后还需要处理用户的自定义操作这样用户在通过无障碍服务操作这些自定义事件时才能得到正确的响应结果。重写performAccessibilityAction()方法在此方法中响应对应的事件ID的操作。如下面样例代码所示//返回true表示此方法已经处理完事件返回false表示事件未处理完OverrideProtected boolean performAccessibilityAction(int action, Bundle data) {Switch (action) {Case 0x02000000: //菜单1的处理这里简单的弹出提示信息Toast.makeText(context, “你点击了菜单1”, Toast.LENGTH_SHORT).show();Return true; Case 0x02fffffe: //菜单2的点击处理Toast.makeText(context, “你点击了菜单2”, Toast.LENGTH_SHORT).show();Return true;}Return false;}TalkBack朗读自定义提示TalkBack的自定义操作菜单点击操作菜单的执行结果简单的两步处理就能让你的应用更方便屏幕阅读器用户使用快看看你的应用中哪里可以使用此技巧吧花点儿时间应用上此方法让你的应用更加高大上。