Condividi tramite


BidiFormatter Classe

Definizione

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

[Android.Runtime.Register("android/text/BidiFormatter", DoNotGenerateAcw=true)]
public sealed class BidiFormatter : Java.Lang.Object
[<Android.Runtime.Register("android/text/BidiFormatter", DoNotGenerateAcw=true)>]
type BidiFormatter = class
    inherit Object
Ereditarietà
BidiFormatter
Attributi

Commenti

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare. La direzione del contesto viene impostata alla creazione del formattatore e la direzione del testo può essere stimata o passata quando nota.

Per supportare versioni inferiori a android.os.Build.VERSION_CODES#JELLY_BEAN_MR2, è possibile usare la classe della libreria di androidx.core.text.BidiFormatter supporto.

Queste API offrono le funzionalità seguenti:

1. Bidi Wrapping Quando il testo in una lingua è misto in un documento in un altro linguaggio di direzione opposta, ad esempio quando un nome aziendale inglese è incorporato in un testo ebraico, sia la stringa inserita che il testo circostante può essere visualizzato in modo errato a meno che la stringa inserita non sia esplicitamente separata dal testo circostante in un "wrapper" che:

- Dichiara la sua direzione in modo che la stringa venga visualizzata correttamente. Questa operazione può essere eseguita in codici di formattazione unicode per #unicodeWrap e metodi simili.

- Isola la direzione della stringa, quindi non influisce eccessivamente sul contenuto circostante. Attualmente, questa operazione può essere eseguita solo usando caratteri Unicode invisibili della stessa direzione del contesto (LRM o RLM) oltre alla dichiarazione di direzione precedente, quindi "reimpostazione" della direzione a quella del contesto. La "reimpostazione" potrebbe essere necessaria a entrambe le estremità della stringa. Senza "reimpostazione" dopo la stringa, la stringa "continuerà" a un numero o a un testo di direzione opposta separata logicamente opposta che accade di seguirla in linea (anche se separata da contenuti neutrali come spazi e punteggiatura). Senza "reset" prima della stringa, lo stesso può verificarsi lì, ma solo con testo di direzione opposta, non un numero. Un approccio è quello di "reimpostare" la direzione solo dopo ogni stringa, sulla teoria che se il testo di direzione opposta precedente è stesso bidi-wrapped, il "reset" dopo che impedirà l'accodamento. L'operazione "reset" viene eseguita solo prima che ogni stringa non funzioni sicuramente perché non si vuole richiedere numeri di wrapping bidi e una stringa di direzione opposta con wrapping bidi potrebbe essere seguita da un numero. Tuttavia, il criterio più sicuro consiste nell'eseguire la "reimpostazione" a entrambe le estremità di ogni stringa, poiché le traduzioni dei messaggi RTL spesso contengono nomi di marchi latini non tradotti e termini tecnici e uno di questi può essere seguito da un valore inserito con wrapping bidi. D'altra parte, quando si ha un messaggio di questo tipo, è consigliabile eseguire manualmente la "reimpostazione" nella traduzione del messaggio stesso, poiché il testo di direzione opposta del messaggio potrebbe essere seguito da un numero inserito, che non verrà eseguito il wrapping dell'offerta comunque. Pertanto, "reimposta" solo dopo la stringa è l'impostazione predefinita corrente. In alternativa a "reset", le recenti aggiunte agli standard HTML, CSS e Unicode consentono l'isolamento come parte della dichiarazione di direzione. Questa forma di isolamento è migliore di "reimpostazione" perché richiede meno spazio, non richiede la conoscenza della direzione del contesto, ha un effetto più delicato rispetto a "reset" e protegge entrambe le estremità della stringa. Tuttavia, non è ancora consentito usarlo perché le piattaforme necessarie non lo supportano ancora.

Fornire questi servizi di wrapping è lo scopo di base del formattatore bidi.

2. Stima direzionale Come si sa se una stringa da inserire nel testo circostante ha la stessa direzione? Beh, in molti casi, uno sa che questo deve essere il caso di scrivere il codice eseguendo l'inserimento, ad esempio quando un messaggio localizzato viene inserito in una pagina localizzata. In questi casi non è necessario coinvolgere il formattatore bidi a tutti. In alcuni altri casi, non è necessario essere uguale al contesto, ma è costante (ad esempio, gli URL sono sempre LTR) o altrimenti noti. Nei casi rimanenti, ad esempio, quando la stringa viene immessa dall'utente o proviene da un database, la lingua della stringa (e quindi la relativa direzione) non è nota in precedenza e deve essere stimata in fase di esecuzione. Il formattatore bidi può eseguire questa operazione automaticamente usando l'algoritmo di stima prima forte predefinito. Può anche essere configurato per l'uso di un oggetto di stima della direzione personalizzata.

Documentazione Java per android.text.BidiFormatter.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Proprietà

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle all'istanza di Android sottostante.

(Ereditato da Object)
Instance

Factory per la creazione di un'istanza di BidiFormatter per la direzione delle impostazioni locali predefinite.

IsRtlContext
JniIdentityHashCode

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
JniPeerMembers

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

PeerReference

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
StereoReset
ThresholdClass

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

(Ereditato da Object)
ThresholdType

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

(Ereditato da Object)

Metodi

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Dispose()

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
Dispose(Boolean)

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
Equals(Object)

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

(Ereditato da Object)
GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
GetInstance(Boolean)

Factory per la creazione di un'istanza di BidiFormatter in base alla direzione del contesto.

GetInstance(Locale)

Factory per la creazione di un'istanza di BidiFormatter in base alle impostazioni locali del contesto.

IsRtl(ICharSequence)

Funziona come #isRtl(String), ma accetta un carattere CharSequence anziché una stringa

IsRtl(String)

Stima la direzione di una stringa usando l'euristica della direzione di testo predefinita.

JavaFinalize()

Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto.

(Ereditato da Object)
Notify()

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

(Ereditato da Object)
NotifyAll()

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

(Ereditato da Object)
SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
ToArray<T>()

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnicodeWrap(String)

Funziona come #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), ma usa l'algoritmo di stima della direzione predefinita del formattatore e presuppone isolate che sia true.

UnicodeWrap(String, Boolean)

Funziona come #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), ma usa l'algoritmo di stima della direzione predefinita del formattatore.

UnicodeWrap(String, ITextDirectionHeuristic)

Funziona come #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), ma presuppone isolate che sia vero.

UnicodeWrap(String, ITextDirectionHeuristic, Boolean)

Funziona come #unicodeWrap(String, TextDirectionHeuristic, boolean), ma accetta un carattere CharSequence anziché una stringa

UnicodeWrapFormatted(ICharSequence)

Funziona come #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), ma usa l'algoritmo di stima della direzione predefinita del formattatore e presuppone isolate che sia true.

UnicodeWrapFormatted(ICharSequence, Boolean)

Funziona come #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), ma usa l'algoritmo di stima della direzione predefinita del formattatore.

UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic)

Funziona come #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), ma presuppone isolate che sia vero.

UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic, Boolean)

Funziona come #unicodeWrap(String, TextDirectionHeuristic, boolean), ma accetta un carattere CharSequence anziché una stringa

UnregisterFromRuntime()

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
Wait()

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.<

(Ereditato da Object)
Wait(Int64)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo 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

IJavaPeerable.Disposed()

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
IJavaPeerable.Finalized()

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

GetJniTypeName(IJavaPeerable)

Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare.

Si applica a