Share via


BidiFormatter 클래스

정의

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

[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
상속
BidiFormatter
특성

설명

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다. 컨텍스트의 방향성은 포맷터를 만들 때 설정되며 텍스트의 방향성은 알려진 경우 추정하거나 전달할 수 있습니다.

보다 android.os.Build.VERSION_CODES#JELLY_BEAN_MR2낮은 버전을 지원하려면 지원 라이브러리의 androidx.core.text.BidiFormatter 클래스를 사용할 수 있습니다.

이러한 API는 다음과 같은 기능을 제공합니다.

1. 비디 래핑 한 언어의 텍스트가 다른 반대 방향 언어의 문서에 혼합되는 경우(예: 영어 비즈니스 이름이 일부 히브리어 텍스트에 포함되는 경우) 삽입된 문자열과 해당 문자열을 둘러싼 텍스트가 모두 "래퍼"의 주변 텍스트와 명시적으로 구분되지 않는 한 잘못 표시될 수 있습니다.

- 문자열이 올바르게 표시되도록 방향성을 선언합니다. 이 작업은 및 유사한 메서드를 통해 유니코드 양방향 형식 지정 코드 #unicodeWrap 에서 수행할 수 있습니다.

- 문자열의 방향성을 격리하므로 주변 콘텐츠에 지나치게 영향을 주지 않습니다. 현재 이 작업은 위의 방향성 선언 외에도 컨텍스트(LRM 또는 RLM)와 동일한 방향의 보이지 않는 유니코드 문자를 사용하여 수행할 수 있으므로 컨텍스트의 방향성을 "다시 설정"합니다. 문자열의 양쪽 끝에서 "재설정"을 수행해야 할 수 있습니다. 문자열 뒤에 "reset"이 없으면 문자열은 숫자로 "고정"되거나 공백 및 문장 부호와 같은 중립 콘텐츠로 구분된 경우에도 인라인으로 따라가는 반대 방향 텍스트를 논리적으로 구분합니다. 문자열 앞에 "reset"이 없으면 동일한 일이 발생할 수 있지만 숫자가 아닌 반대 방향 텍스트만 가능합니다. 한 가지 방법은 앞의 반대 방향 텍스트 자체가 양방향으로 래핑된 경우 "reset"이 고집을 방지한다는 이론에서 각 문자열 다음에만 방향을 "재설정"하는 것입니다. (각 문자열 앞에만 "재설정"을 수행해도 양방향 래핑 번호가 필요하지 않으므로 확실히 작동하지 않으며, 양방향 래핑된 반대 방향 문자열 뒤에 숫자가 오를 수 있습니다.) 그러나 가장 안전한 정책은 RTL 메시지 번역에 번역되지 않은 라틴어 스크립트 브랜드 이름 및 기술 용어가 포함된 경우가 많기 때문에 각 문자열의 양쪽 끝에서 "재설정"을 수행하는 것입니다. 그 뒤에는 양방향으로 래핑된 값이 뒤따를 수 있습니다. 반면에 이러한 메시지가 있는 경우 메시지의 반대 방향 텍스트 뒤에 삽입된 번호가 뒤따를 수 있으므로 메시지 번역 자체에서 수동으로 "재설정"을 수행하는 것이 가장 좋습니다. 따라서 문자열이 현재 기본값인 후에만 "다시 설정"됩니다. "reset"에 대한 대안으로 HTML, CSS 및 유니코드 표준에 최근에 추가된 격리가 방향성 선언의 일부가 될 수 있습니다. 이 형태의 격리는 공간을 적게 사용하고, 컨텍스트 방향을 알 필요가 없으며, "reset"보다 더 부드러운 효과를 가지며, 문자열의 양쪽 끝을 보호하기 때문에 "다시 설정"보다 낫습니다. 그러나 필수 플랫폼은 아직 지원하지 않으므로 아직 사용을 허용하지 않습니다.

이러한 래핑 서비스를 제공하는 것은 양방향 포맷터의 기본 목적입니다.

2. 방향성 추정 주변 텍스트에 삽입할 문자열의 방향성이 같은지 어떻게 알 수 있나요? 많은 경우에 지역화된 메시지가 지역화된 페이지에 삽입되는 경우와 같이 삽입을 수행하는 코드를 작성할 때 이러한 경우가 발생해야 한다는 것을 알고 있습니다. 이러한 경우 양방향 포맷터를 전혀 포함할 필요가 없습니다. 다른 경우에는 컨텍스트와 동일하지 않아도 되지만 상수(예: URL은 항상 LTR임)이거나 그렇지 않으면 알 수 있습니다. 나머지 경우(예: 문자열이 사용자 입력되었거나 데이터베이스에서 가져온 경우) 문자열의 언어(따라서 방향성)는 사전을 알 수 없으며 런타임에 추정해야 합니다. bidi 포맷터는 기본 첫 번째 강력한 예측 알고리즘을 사용하여 자동으로 이 작업을 수행할 수 있습니다. 사용자 지정 방향성 추정 개체를 사용하도록 구성할 수도 있습니다.

에 대한 Java 설명서입니다 android.text.BidiFormatter.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

속성

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
Instance

기본 로캘 방향성에 대한 BidiFormatter instance 만들기 위한 팩터리입니다.

IsRtlContext
JniIdentityHashCode

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
JniPeerMembers

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

PeerReference

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
StereoReset
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)

메서드

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Dispose()

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetInstance(Boolean)

컨텍스트 방향성을 고려하여 BidiFormatter의 instance 만들기 위한 팩터리입니다.

GetInstance(Locale)

컨텍스트 로캘이 지정된 경우 BidiFormatter의 instance 만들기 위한 팩터리입니다.

IsRtl(ICharSequence)

처럼 #isRtl(String)작동하지만 문자열 대신 CharSequence를 사용합니다.

IsRtl(String)

기본 텍스트 방향 추론을 사용하여 문자열의 방향성을 예측합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnicodeWrap(String)

와 같이 #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean)작동하지만 포맷터의 기본 방향 예측 알고리즘을 사용하며 가 true라고 가정합니다 isolate .

UnicodeWrap(String, Boolean)

와 같이 #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean)작동하지만 포맷터의 기본 방향 추정 알고리즘을 사용합니다.

UnicodeWrap(String, ITextDirectionHeuristic)

와 같이 #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean)작동하지만 가 true라고 가정합니다 isolate .

UnicodeWrap(String, ITextDirectionHeuristic, Boolean)

처럼 #unicodeWrap(String, TextDirectionHeuristic, boolean)작동하지만 문자열 대신 CharSequence를 사용합니다.

UnicodeWrapFormatted(ICharSequence)

와 같이 #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean)작동하지만 포맷터의 기본 방향 예측 알고리즘을 사용하며 가 true라고 가정합니다 isolate .

UnicodeWrapFormatted(ICharSequence, Boolean)

와 같이 #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean)작동하지만 포맷터의 기본 방향 추정 알고리즘을 사용합니다.

UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic)

와 같이 #unicodeWrap(CharSequence, TextDirectionHeuristic, boolean)작동하지만 가 true라고 가정합니다 isolate .

UnicodeWrapFormatted(ICharSequence, ITextDirectionHeuristic, Boolean)

처럼 #unicodeWrap(String, TextDirectionHeuristic, boolean)작동하지만 문자열 대신 CharSequence를 사용합니다.

UnregisterFromRuntime()

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

GetJniTypeName(IJavaPeerable)

왜곡 없이 잠재적으로 반대 방향 컨텍스트에 표시할 텍스트의 서식을 지정하기 위한 유틸리티 클래스입니다.

적용 대상