如何在 Xamarin 的 ViewCompat 中将我的 SimplestExploreByTouchHelper 设置为 AccessibilityDelegate?
How to set my SimplestExploreByTouchHelper as a AccessibilityDelegate in ViewCompat in Xamarin?
我对 TalkBack 功能比较陌生,需要帮助。
我有一个 Xamarin 应用程序,当 TalkBack 功能处于活动状态时,我需要它来处理 DPAD 按键事件(上、下、左、右)。
当然,这是一个相当新的选项,没有任何信息,none,nada,关于我的 Xamarin 应用程序使用的非本机组件的任何信息,我不得不从 java 到 c#。
关注此站点:https://developer.android.com/training/tv/accessibility/non-native-best-practices
我已经尽力了,但我必须将最后一个函数解释为 c#,这就是问题所在。
Java代码:
private void init(@Nullable AttributeSet attrs) {
...
ViewCompat.setAccessibilityDelegate(this,
new SimplestExploreByTouchHelper(this));
}
我假设我必须在 OnCreate 函数内的 MainActivity.cs 文件中调用此函数。
但是,因为那是 Java,我必须将它转换为 C#:
C#
protected override void OnCreate(Bundle savedInstanceState)
{
...
SimplestCustomView scv = new SimplestCustomView(this.ApplicationContext);
var helper = new SimplestExploreByTouchHelper(scv);
ViewCompat.SetAccessibilityDelegate(mGfxSurface, helper);
}
而且,一如既往,我有一个问题需要帮助。有一个错误:
Argument 2: cannot convert from 'MyApp.SimplestExploreByTouchHelper' to 'AndroidX.Core.ViewAccessibilityDelegateCompat'
几乎没有关于如何使用 Xamarin 在非本机组件中实现 TalkBack 功能的信息。
你能帮我解决以下问题吗?
- 如何转换?
- 是否应该从 MainActivity.cs OnCreate 函数调用该函数?
我的目标是让我的应用程序处理 DPAD 按键按下事件,这些事件由无障碍服务器在处理 TalkBack 时使用。
此处描述了该问题:https://developer.android.com/training/tv/accessibility/non-native-app
How to convert it?
private void init(IAttributeSet attrs) {
ViewCompat.SetAccessibilityDelegate(this, new SimplestExploreByTouchHelper(this));
}
Should the function be called from the MainActivity.cs OnCreate function or not?
这个函数应该放在自定义视图中 class SimplestCustomView
.
并确保 SimplestExploreByTouchHelper
在您的代码中继承自 ExploreByTouchHelper
。
我对 TalkBack 功能比较陌生,需要帮助。 我有一个 Xamarin 应用程序,当 TalkBack 功能处于活动状态时,我需要它来处理 DPAD 按键事件(上、下、左、右)。
当然,这是一个相当新的选项,没有任何信息,none,nada,关于我的 Xamarin 应用程序使用的非本机组件的任何信息,我不得不从 java 到 c#。
关注此站点:https://developer.android.com/training/tv/accessibility/non-native-best-practices
我已经尽力了,但我必须将最后一个函数解释为 c#,这就是问题所在。
Java代码:
private void init(@Nullable AttributeSet attrs) {
...
ViewCompat.setAccessibilityDelegate(this,
new SimplestExploreByTouchHelper(this));
}
我假设我必须在 OnCreate 函数内的 MainActivity.cs 文件中调用此函数。 但是,因为那是 Java,我必须将它转换为 C#:
C#
protected override void OnCreate(Bundle savedInstanceState)
{
...
SimplestCustomView scv = new SimplestCustomView(this.ApplicationContext);
var helper = new SimplestExploreByTouchHelper(scv);
ViewCompat.SetAccessibilityDelegate(mGfxSurface, helper);
}
而且,一如既往,我有一个问题需要帮助。有一个错误:
Argument 2: cannot convert from 'MyApp.SimplestExploreByTouchHelper' to 'AndroidX.Core.ViewAccessibilityDelegateCompat'
几乎没有关于如何使用 Xamarin 在非本机组件中实现 TalkBack 功能的信息。
你能帮我解决以下问题吗?
- 如何转换?
- 是否应该从 MainActivity.cs OnCreate 函数调用该函数?
我的目标是让我的应用程序处理 DPAD 按键按下事件,这些事件由无障碍服务器在处理 TalkBack 时使用。 此处描述了该问题:https://developer.android.com/training/tv/accessibility/non-native-app
How to convert it?
private void init(IAttributeSet attrs) {
ViewCompat.SetAccessibilityDelegate(this, new SimplestExploreByTouchHelper(this));
}
Should the function be called from the MainActivity.cs OnCreate function or not?
这个函数应该放在自定义视图中 class SimplestCustomView
.
并确保 SimplestExploreByTouchHelper
在您的代码中继承自 ExploreByTouchHelper
。