BidiFormatter Clase

Definición

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

[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 mostrar en un contexto de direccionalidad potencialmente opuesto sin gargar. 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 android.os.Build.VERSION_CODES#JELLY_BEAN_MR2a , 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 se inserta un nombre comercial en inglés 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 "reset" después de la cadena, la cadena "se pega" a un número o separa lógicamente el texto de dirección opuesta que le sigue en línea (incluso si se separan 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 a la dirección, 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 por bidi podría ir seguida de un número). Sin embargo, 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 de script latino sin traducir y términos técnicos, y uno de estos puede ir seguido de un valor insertado en bidi. Por otro lado, cuando uno tiene este tipo de mensaje, es mejor hacer el "restablecimiento" manualmente en la traducción de mensajes en sí, 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 a "reset", 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 requiere 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 nivel. También se puede configurar para usar un objeto de estimación de direccionalidad personalizado.

Java documentación para android.text.BidiFormatter.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Propiedades

Nombre Description
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

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

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

(Heredado de JavaObject)
JniPeerMembers

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

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(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

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

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

(Heredado de JavaObject)
Equals(Object)

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

(Heredado de JavaObject)
Equals(Object)

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

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash para el 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 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()

Lo llama 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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
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, Boolean)

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

UnicodeWrap(String, ITextDirectionHeuristic)

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

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.

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, Boolean)

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

UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic)

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

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.

UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(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, Int32)

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

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>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

Nombre Description
IJavaPeerable.Disposed()

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

(Heredado de JavaObject)
IJavaPeerable.Finalized()

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

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

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 mostrar en un contexto de direccionalidad potencialmente opuesto sin gargar.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a