Lingua

AccessibilityNodeProvider Classe

Definizione

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

[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
Ereditarietà
AccessibilityNodeProvider
Attributi

Commenti

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità. Una gerarchia di visualizzazione virtuale è un albero di visualizzazioni immaginarie segnalate come parte della gerarchia di visualizzazione quando un AccessibilityService oggetto esplora il contenuto della finestra. Poiché l'albero di visualizzazione virtuale non esiste, questa classe è responsabile della gestione dell'albero AccessibilityNodeInfoche descrive tale albero ai servizi di accessibilità. </p>

Il caso d'uso principale di queste API consiste nell'abilitare una visualizzazione personalizzata che disegna contenuto complesso, ad esempio una griglia di calendario mensile, da presentare come albero di nodi logici, ad esempio i giorni del mese, ognuno dei quali contiene eventi, trasmettendone così la struttura logica.

Un caso d'uso tipico consiste nell'eseguire l'override View#getAccessibilityNodeProvider() della vista che è una radice di una gerarchia di visualizzazione virtuale per restituire un'istanza di questa classe. In questo caso, questa istanza è responsabile della gestione AccessibilityNodeInfodi s che descrive il sottoalbero virtuale radicato nella visualizzazione, incluso quello che rappresenta la vista stessa. Analogamente, l'istanza restituita è responsabile dell'esecuzione di azioni di accessibilità in qualsiasi visualizzazione virtuale o nella visualizzazione radice stessa. Per esempio:

"nota"><b Nota:>/b<> Prendere in considerazione l'uso di un <c>androidx.customview.widget.ExploreByTouchHelper</c>, un'estensione dell'utilità di AccessibilityNodeProvider, per semplificare molti aspetti della fornitura di informazioni ai servizi di accessibilità e la gestione dell'accessibilità. </aside><div 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> -&gt; {
                                    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> -&gt; {
                                    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 -&gt; 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 -&gt; {
                                    // Implement logic in a separate method.
                                    navigateToPreviousMonth()

                                    return true
                                }
                                ACTION_SCROLL_DOWN.id -&gt;
                                    // Implement logic in a separate method.
                                    navigateToNextMonth()

                                    return true
                                else -&gt; return false
                            }
                        }
                    }
                }
            }

</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;
                }

                &#64;Override
                public AccessibilityNodeProvider getAccessibilityNodeProvider(View host) {
                    return new AccessibilityNodeProvider() {
                        &#64;Override
                        &#64;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;
                            }
                        }

                        &#64;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>

per android.view.accessibility.AccessibilityNodeProvider.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
AccessibilityNodeProvider()
AccessibilityNodeProvider(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Campi

Nome Descrizione
HostViewId

ID virtuale per la visualizzazione host.

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniManagedPeerState

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
JniPeerMembers

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

Nome Descrizione
AddExtraDataToAccessibilityNodeInfo(Int32, AccessibilityNodeInfo, String, Bundle)

Aggiunge dati aggiuntivi a un oggetto AccessibilityNodeInfo in base a una richiesta esplicita per i dati aggiuntivi.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
CreateAccessibilityNodeInfo(Int32)

Restituisce un oggetto AccessibilityNodeInfo che rappresenta una visualizzazione virtuale, ad esempio un discendente della visualizzazione host, con la vista host specificata o l'host virtualViewId se virtualViewId uguale a #HOST_VIEW_ID.

Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
DisposeUnlessReferenced()

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
Equals(Object)

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
FindAccessibilityNodeInfosByText(String, Int32)

Trova AccessibilityNodeInfoin base al testo.

FindFocus(NodeFocus)

Trovare la visualizzazione virtuale, ad esempio un discendente della visualizzazione host, con il tipo di stato attivo specificato.

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
JavaFinalize()
Obsoleti.

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
PerformAction(Int32, Action, Bundle)

Esegue un'azione di accessibilità su una visualizzazione virtuale, ad esempio un discendente della visualizzazione host, con l'oggetto specificato virtualViewId o la visualizzazione host se virtualViewId uguale a #HOST_VIEW_ID.

PerformAction(Int32, GlobalAction, Bundle)

Esegue un'azione di accessibilità su una visualizzazione virtuale, ad esempio un discendente della visualizzazione host, con l'oggetto specificato virtualViewId o la visualizzazione host se virtualViewId uguale a HostViewId.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IJavaPeerable.Disposed()

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
IJavaPeerable.Finalized()

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

(Ereditato da JavaObject)

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Questa classe è il contratto che un client deve implementare per abilitare il supporto di una gerarchia di viste virtuali rooted in una determinata visualizzazione a scopo di accessibilità.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a