BidiFormatter Clase

Definición

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

[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
Herencia
BidiFormatter
Atributos

Comentarios

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling. La direccionalidad del contexto se establece en la creación del formateador y la direccionalidad del texto se puede estimar o pasar cuando se conoce.

Para admitir versiones inferiores a android.os.Build.VERSION_CODES#JELLY_BEAN_MR2, puede usar la clase de la biblioteca de androidx.core.text.BidiFormatter soporte técnico.

Estas API proporcionan la siguiente funcionalidad:

1. Ajuste de bidi Cuando el texto de un idioma se mezcla en un documento en otro idioma de direccionalidad opuesta, por ejemplo, cuando un nombre comercial inglés está incrustado en algún texto hebreo, tanto la cadena insertada como el texto que lo rodea pueden mostrarse incorrectamente a menos que la cadena insertada esté separada explícitamente del texto circundante en un "contenedor" que:

: declara su direccionalidad para que la cadena se muestre correctamente. Esto se puede hacer en códigos de formato bidi Unicode por #unicodeWrap métodos similares.

: aísla la direccionalidad de la cadena, por lo que no afecta indebidamente al contenido circundante. Actualmente, esto solo se puede hacer mediante caracteres Unicode invisibles de la misma dirección que el contexto (LRM o RLM) además de la declaración de direccionalidad anterior, por lo que "restablecer" la direccionalidad a la del contexto. Es posible que sea necesario realizar el "restablecimiento" en ambos extremos de la cadena. Sin "restablecer" después de la cadena, la cadena se "pegará" a un número o separar lógicamente el texto de dirección opuesta que le sigue en línea (incluso si está separado por contenido neutro como espacios y puntuación). Sin "restablecer" antes de la cadena, lo mismo puede ocurrir allí, pero solo con texto más opuesto, no un número. Un enfoque consiste en "restablecer" la dirección solo después de cada cadena, en la teoría de que si el texto de dirección opuesta anterior está encapsulado, el "restablecimiento" después de evitar el pegado. (Hacer el "restablecimiento" solo antes de que cada cadena definitivamente no funcione porque no queremos requerir números de ajuste bidi, y una cadena de dirección opuesta encapsulada bidi podría ir seguida de un número). Aun así, la directiva más segura consiste en realizar el "restablecimiento" en ambos extremos de cada cadena, ya que las traducciones de mensajes RTL suelen contener nombres de marca y términos técnicos de script latino sin traducir, y uno de ellos puede ir seguido de un valor insertado encapsulado bidi. Por otro lado, cuando uno tiene un mensaje de este tipo, es mejor hacer el "restablecimiento" manualmente en la propia traducción de mensajes, ya que el texto de dirección opuesta del mensaje podría ir seguido de un número insertado, que no podríamos encapsular de todos modos. Por lo tanto, "reset" solo después de que la cadena sea el valor predeterminado actual. En una alternativa al "restablecimiento", las adiciones recientes a los estándares HTML, CSS y Unicode permiten que el aislamiento forme parte de la declaración de direccionalidad. Esta forma de aislamiento es mejor que "restablecer" porque tarda menos espacio, no requiere conocer la direccionalidad del contexto, tiene un efecto más suave que "reset" y protege ambos extremos de la cadena. Sin embargo, aún no se permite su uso porque las plataformas necesarias aún no lo admiten.

Proporcionar estos servicios de ajuste es el propósito básico del formateador bidi.

2. Estimación de direccionalidad ¿Cómo sabe uno si una cadena a punto de insertarse en el texto circundante tiene la misma direccionalidad? Bueno, en muchos casos, uno sabe que esto debe ser el caso al escribir el código que realiza la inserción, por ejemplo, cuando se inserta un mensaje localizado en una página localizada. En tales casos no es necesario implicar al formateador bidi en absoluto. En algunos otros casos, no es necesario que sea el mismo que el contexto, pero es constante (por ejemplo, las direcciones URL siempre son LTR) o se conocen de otro modo. En los casos restantes, por ejemplo, cuando la cadena se escribe por el usuario o procede de una base de datos, el idioma de la cadena (y, por tanto, su direccionalidad) no se conoce a priori y se debe calcular en tiempo de ejecución. El formateador bidi puede hacerlo automáticamente mediante el algoritmo de estimación predeterminado de primer fuerte. También se puede configurar para usar un objeto de estimación de direccionalidad personalizado.

Documentación de Java para android.text.BidiFormatter.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
Instance

Generador para crear una instancia de BidiFormatter para la direccionalidad regional predeterminada.

IsRtlContext
JniIdentityHashCode

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
JniPeerMembers

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

PeerReference

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
StereoReset
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Dispose()

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
Dispose(Boolean)

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
GetInstance(Boolean)

Generador para crear una instancia de BidiFormatter dada la direccionalidad del contexto.

GetInstance(Locale)

Generador para crear una instancia de BidiFormatter según la configuración regional del contexto.

IsRtl(ICharSequence)

Funciona como #isRtl(String), pero toma un CharSequence en lugar de una cadena.

IsRtl(String)

Calcula la direccionalidad de una cadena mediante la heurística de dirección de texto predeterminada.

JavaFinalize()

Llamado por el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto.

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
ToArray<T>()

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnicodeWrap(String)

Funciona como #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), pero usa el algoritmo de estimación de dirección predeterminado del formateador y supone isolate que es true.

UnicodeWrap(String, Boolean)

Funciona como #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), pero usa el algoritmo de estimación de dirección predeterminado del formateador.

UnicodeWrap(String, ITextDirectionHeuristic)

Funciona como #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), pero supone isolate que es true.

UnicodeWrap(String, ITextDirectionHeuristic, Boolean)

Funciona como #unicodeWrap(String, TextDirectionHeuristic, boolean), pero toma un CharSequence en lugar de una cadena.

UnicodeWrapFormatted(ICharSequence)

Funciona como #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), pero usa el algoritmo de estimación de dirección predeterminado del formateador y supone isolate que es true.

UnicodeWrapFormatted(ICharSequence, Boolean)

Funciona como #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), pero usa el algoritmo de estimación de dirección predeterminado del formateador.

UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic)

Funciona como #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean), pero supone isolate que es true.

UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic, Boolean)

Funciona como #unicodeWrap(String, TextDirectionHeuristic, boolean), pero toma un CharSequence en lugar de una cadena.

UnregisterFromRuntime()

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <notificado<>/em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
IJavaPeerable.Finalized()

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

GetJniTypeName(IJavaPeerable)

Clase de utilidad para dar formato al texto para mostrarlo en un contexto de direccionalidad potencialmente opuesto sin garbling.

Se aplica a