AccessibilityNodeProvider Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade.
[Android.Runtime.Register("android/view/accessibility/AccessibilityNodeProvider", DoNotGenerateAcw=true)]
public abstract class AccessibilityNodeProvider : Java.Lang.Object
[<Android.Runtime.Register("android/view/accessibility/AccessibilityNodeProvider", DoNotGenerateAcw=true)>]
type AccessibilityNodeProvider = class
inherit Object
- Herança
- Atributos
Comentários
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. Uma hierarquia de exibição virtual é uma árvore de exibições imaginárias que é relatada como parte da hierarquia de exibição quando um AccessibilityService conteúdo da janela é explorado. Como a árvore de exibição virtual não existe, essa classe é responsável por gerenciar os AccessibilityNodeInfos que descrevem essa árvore para os serviços de acessibilidade.
</p>
O principal caso de uso dessas APIs é habilitar uma exibição personalizada que desenha conteúdo complexo, por exemplo, uma grade de calendário mensal, a ser apresentada como uma árvore de nós lógicos, por exemplo, dias de mês cada um contendo eventos, transmitindo assim sua estrutura lógica.
Um caso de uso típico é substituir View#getAccessibilityNodeProvider() o Modo de Exibição que é uma raiz de uma hierarquia de Exibição virtual para retornar uma instância dessa classe. Nesse caso, essa instância é responsável pelo gerenciamento AccessibilityNodeInfode s que descrevem a subárvore virtual com raiz no Modo de Exibição, incluindo a que representa o próprio Modo de Exibição. Da mesma forma, a instância retornada é responsável por executar ações de acessibilidade em qualquer exibição virtual ou no próprio modo de exibição raiz. Por exemplo:
"observação">b Observação:</b> Considere usar um <c>androidx.customview.widget.ExploreByTouchHelper</c>, uma extensão de utilitário do AccessibilityNodeProvider, para simplificar muitos aspectos do fornecimento de informações para serviços de acessibilidade e gerenciamento do foco de acessibilidade.<> </aside><div><class="ds-selector-tabs"><section><h3 id="kotlin">Kotlin</h3>
// "view" is the View instance on which this class performs accessibility functions.
class MyCalendarViewAccessibilityDelegate(
private var view: MyCalendarView) : AccessibilityDelegate() {
override fun getAccessibilityNodeProvider(host: View): AccessibilityNodeProvider {
return object : AccessibilityNodeProvider() {
override fun createAccessibilityNodeInfo(virtualViewId: Int):
AccessibilityNodeInfo? {
when (virtualViewId) {
<var>host-view-id</var> -> {
val node = AccessibilityNodeInfo.obtain(view)
node.addChild(view, <var>child-view-id</var>)
// Set other attributes like screenReaderFocusable
// and contentDescription.
return node
}
<var>child-view-id</var> -> {
val node = AccessibilityNodeInfo
.obtain(view, virtualViewId)
node.setParent(view)
node.addAction(ACTION_SCROLL_UP)
node.addAction(ACTION_SCROLL_DOWN)
// Set other attributes like focusable and visibleToUser.
node.setBoundsInScreen(
Rect(<var>coords-of-edges-relative-to-screen</var>))
return node
}
else -> return null
}
}
override fun performAction(
virtualViewId: Int,
action: Int,
arguments: Bundle
): Boolean {
if (virtualViewId == <var>host-view-id</var>) {
return view.performAccessibilityAction(action, arguments)
}
when (action) {
ACTION_SCROLL_UP.id -> {
// Implement logic in a separate method.
navigateToPreviousMonth()
return true
}
ACTION_SCROLL_DOWN.id ->
// Implement logic in a separate method.
navigateToNextMonth()
return true
else -> return false
}
}
}
}
}
</section><section><h3 id="java">Java</h3>
final class MyCalendarViewAccessibilityDelegate extends AccessibilityDelegate {
// The View instance on which this class performs accessibility functions.
private final MyCalendarView view;
MyCalendarViewAccessibilityDelegate(MyCalendarView view) {
this.view = view;
}
@Override
public AccessibilityNodeProvider getAccessibilityNodeProvider(View host) {
return new AccessibilityNodeProvider() {
@Override
@Nullable
public AccessibilityNodeInfo createAccessibilityNodeInfo(int virtualViewId) {
if (virtualViewId == <var>host-view-id</var>) {
AccessibilityNodeInfo node = AccessibilityNodeInfo.obtain(view);
node.addChild(view, <var>child-view-id</var>);
// Set other attributes like screenReaderFocusable and contentDescription.
return node;
} else if (virtualViewId == <var>child-view-id</var>) {
AccessibilityNodeInfo node =
AccessibilityNodeInfo.obtain(view, virtualViewId);
node.setParent(view);
node.addAction(ACTION_SCROLL_UP);
node.addAction(ACTION_SCROLL_DOWN);
// Set other attributes like focusable and visibleToUser.
node.setBoundsInScreen(
new Rect(<var>coordinates-of-edges-relative-to-screen</var>));
return node;
} else {
return null;
}
}
@Override
public boolean performAction(int virtualViewId, int action, Bundle arguments) {
if (virtualViewId == <var>host-view-id</var>) {
return view.performAccessibilityAction(action, arguments);
}
if (action == ACTION_SCROLL_UP.getId()) {
// Implement logic in a separate method.
navigateToPreviousMonth();
return true;
} else if (action == ACTION_SCROLL_DOWN.getId()) {
// Implement logic in a separate method.
navigateToNextMonth();
return true;
} else {
return false;
}
}
};
}
}
</section></div></div>
Java documentação para android.view.accessibility.AccessibilityNodeProvider.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| AccessibilityNodeProvider() | |
| AccessibilityNodeProvider(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Campos
| Nome | Description |
|---|---|
| HostViewId |
A ID virtual do modo de exibição de hospedagem. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de tempo de execução deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| JniPeerMembers |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
| Nome | Description |
|---|---|
| AddExtraDataToAccessibilityNodeInfo(Int32, AccessibilityNodeInfo, String, Bundle) |
Adiciona dados extras a uma solicitação |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| CreateAccessibilityNodeInfo(Int32) |
Retorna um modo de exibição |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| Equals(Object) |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| FindAccessibilityNodeInfosByText(String, Int32) |
Localiza |
| FindFocus(NodeFocus) |
Localize o modo de exibição virtual, como um descendente do modo de exibição de host, que tem o tipo de foco especificado. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Notify() |
Ativa um único thread que está aguardando no monitor desse objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| PerformAction(Int32, Action, Bundle) |
Executa uma ação de acessibilidade em um modo de exibição virtual, como um descendente do modo de exibição do host, com o modo de exibição de |
| PerformAction(Int32, GlobalAction, Bundle) |
Executa uma ação de acessibilidade em um modo de exibição virtual, ou seja, um descendente do modo de exibição do host, com o modo de exibição de |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. (Herdado de JavaObject) |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada pelo tempo de execução do Android. |
| JavaCast<TResult>(IJavaObject) |
Essa classe é o contrato que um cliente deve implementar para habilitar o suporte de uma hierarquia de exibição virtual com raiz em um determinado modo de exibição para fins de acessibilidade. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |