c# - 如何更新 Android 按钮辅助功能特性

标签 c# android xamarin

我很好奇是否可以更新附加到 Android 按钮的特征?我目前有一个按钮用作指向网页的链接。出于可访问性目的,当用户突出显示按钮时,它当前读出

"{Title : Learn More}, {Type : Button}, {Hint : Double tap to learn more}"

我很好奇是否可以更新类型?默认情况下,按钮读出为按钮,因为它就是这样。我很好奇是否可以将其更新为读出“链接”而不是“按钮”?

非常感谢任何帮助。在发布此信息时,我无法获得相关信息。

最佳答案

是的!

您应该创建一个自定义辅助功能委托(delegate)兼容对象,您可以在其中通过覆盖其 onInitializeAccessibilityNodeInfo() 方法来指定它的角色。

然后您可以将此辅助功能委托(delegate)设置为您的 View 。

所以,像这样:

            @Override
            public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat info) {
                super.onInitializeAccessibilityNodeInfo(view, info);
                if (role != null) {
                    CharSequence role;
                    switch (role) {
                        case Button:
                            roleDescription = "button"
                            break;
                        case Link:
                            roleDescription = "link"
                            break;
                    info.setRoleDescription(roleDescription);
                }
            }
        };

关于c# - 如何更新 Android 按钮辅助功能特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54411188/

相关文章:

android - 如何监听服务器响应? Okhttp库

java - 多listView android

Xamarin.forms如何像浏览器一样自动保存用户名

java - 为什么 Xamarin 无法导入 Spongy CaSTLe?

c# - 如果我在 Xamarin 应用程序中使用数据库连接字符串值有多安全?

javascript - 如何在 SignalR 上获取已连接客户端的列表

c# - 通过泛型访问扩展方法总是匹配最不具体的选项?

android - Graph Api 未从 Android 中的 Facebook SDK 获取位置

C# 将数据表添加到带有主键自动增量的 SQL

c# - ASP.net Web API 中 MVC 的 DefaultModelBinder 的等价物是什么?