Bidi.GetVisualRun(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein BidiRun Objekt gemäß seinem Index ab.
[Android.Runtime.Register("getVisualRun", "(I)Landroid/icu/text/BidiRun;", "GetGetVisualRun_IHandler", ApiSince=29)]
public virtual Android.Icu.Text.BidiRun? GetVisualRun(int runIndex);
[<Android.Runtime.Register("getVisualRun", "(I)Landroid/icu/text/BidiRun;", "GetGetVisualRun_IHandler", ApiSince=29)>]
abstract member GetVisualRun : int -> Android.Icu.Text.BidiRun
override this.GetVisualRun : int -> Android.Icu.Text.BidiRun
Parameter
- runIndex
- Int32
ist die Anzahl der Ausführung in visueller Reihenfolge im Bereich [0..countRuns()-1].
Gibt zurück
ein BidiRun-Objekt, das die Details der Ausführung enthält. Die Richtung des Laufs ist LTR==0 oder RTL==1, niemals MIXED.
- Attribute
Hinweise
Ruft ein BidiRun Objekt gemäß seinem Index ab. BidiRun-Methoden können verwendet werden, um den logischen Start, die Länge und den Level des Laufs abzurufen, die sogar für eine LTR-Ausführung oder ungerade für eine RTL-Ausführung sein können. In einem RTL-Lauf befindet sich das Zeichen am logischen Start visuell rechts neben der angezeigten Ausführung. Die Länge ist die Anzahl der Zeichen in der Ausführung.
countRuns() wird normalerweise aufgerufen, bevor die Ausführung abgerufen wird.
Beispiel:
Bidi bidi = new Bidi();
String text = "abc 123 DEFG xyz";
bidi.setPara(text, Bidi.RTL, null);
int i, count=bidi.countRuns(), logicalStart, visualIndex=0, length;
BidiRun run;
for (i = 0; i < count; ++i) {
run = bidi.getVisualRun(i);
logicalStart = run.getStart();
length = run.getLength();
if (Bidi.LTR == run.getEmbeddingLevel()) {
do { // LTR
show_char(text.charAt(logicalStart++), visualIndex++);
} while (--length > 0);
} else {
logicalStart += length; // logicalLimit
do { // RTL
show_char(text.charAt(--logicalStart), visualIndex++);
} while (--length > 0);
}
}
Beachten Sie, dass in Rechts-nach-links-Ausführung Code wie hierhin zweite Surrogate vor den ersten (was im Allgemeinen eine schlechte Idee ist) und kombinieren Zeichen vor Basiszeichen.
Die Verwendung von {@link #writeReordered}, optional mit der {@link #KEEP_BASE_COMBINING} Option, kann berücksichtigt werden, um diese Probleme zu vermeiden.
Java Dokumentation für android.icu.text.Bidi.getVisualRun(int).
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.