BidiFormatter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- Attributi
Commenti
Classe di utilità per la formattazione del testo per la visualizzazione in un contesto di direzione potenzialmente opposta senza sgargare. La direzionalità del contesto viene impostata in fase di 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 che lo circonda potrebbero essere visualizzati in modo non corretto a meno che la stringa inserita non sia esplicitamente separata dal testo circostante in un "wrapper" che:
- Dichiara la sua direzionalità in modo che la stringa venga visualizzata correttamente. Questa operazione può essere eseguita in codici di formattazione bidi Unicode per #unicodeWrap e metodi simili.
- Isola la direzionalità 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 direzionalità precedente, in modo da "reimpostare" la direzionalità a quella del contesto. Potrebbe essere necessario eseguire "reset" in entrambe le estremità della stringa. Senza "reset" dopo la stringa, la stringa verrà "attaccata" a un numero o a un testo di direzione opposta che lo segue in linea (anche se separato da contenuto neutro come spazi e punteggiatura). Senza "reset" prima della stringa, lo stesso può verificarsi lì, ma solo con testo più opposto, non un numero. Un approccio consiste nel "reimpostare" la direzione solo dopo ogni stringa, sulla teoria che se il testo della direzione opposta precedente è in sé bidi-wrapped, il "reset" dopo che impedirà il bastone. L'operazione "reset" viene eseguita solo prima che ogni stringa non funzioni in modo definitivo perché non si vogliono 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" su entrambe le estremità di ogni stringa, poiché le traduzioni dei messaggi RTL contengono spesso nomi di marchi alfabetici latini e termini tecnici e uno di questi può essere seguito da un valore inserito con wrapping bidi. D'altra parte, quando si dispone di un messaggio di questo tipo, è preferibile 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 sarebbe comunque possibile eseguire il wrapping bidi.. Di conseguenza, "reset" 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 direzionalità. Questa forma di isolamento è migliore di "reset" perché richiede meno spazio, non richiede conoscere la direzionalità 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 della direzionalità Come si sa se una stringa che sta per essere inserita nel testo circostante ha la stessa direzionalità? In molti casi, si sa che questo deve essere il caso quando si scrive il codice che esegue l'inserimento, ad esempio quando un messaggio localizzato viene inserito in una pagina localizzata. In questi casi non è necessario coinvolgere affatto il formattatore bidi. In altri casi, non è necessario che sia uguale al contesto, ma sia 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 come priori e deve essere stimata in fase di esecuzione. Il formattatore bidi può eseguire questa operazione automaticamente usando l'algoritmo di stima first-strong predefinito. Può anche essere configurato per l'uso di un oggetto di stima della direzionalità personalizzato.
per android.text.BidiFormatter.
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.
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| Instance |
Factory per la creazione di un'istanza di BidiFormatter per la direzione delle impostazioni locali predefinita. |
| 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
| Nome | Descrizione |
|---|---|
| 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 di 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) |
Opera come |
| IsRtl(String) |
Stima la direzionalità di una stringa usando l'euristica predefinita della direzione del testo. |
| JavaFinalize() |
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) |
| 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 di stringa dell'oggetto . (Ereditato da Object) |
| UnicodeWrap(String, Boolean) |
Opera come |
| UnicodeWrap(String, ITextDirectionHeuristic, Boolean) |
Opera come |
| UnicodeWrap(String, ITextDirectionHeuristic) |
Opera come |
| UnicodeWrap(String) |
Opera come |
| UnicodeWrapFormatted(ICharSequence, Boolean) |
Opera come |
| UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic, Boolean) |
Opera come |
| UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic) |
Opera come |
| UnicodeWrapFormatted(ICharSequence) |
Opera come |
| 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() |
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() |
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
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato 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. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |