Bidi.GetVisualRun(Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtenez un BidiRun objet en fonction de son index.
[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
Paramètres
- runIndex
- Int32
est le nombre de l’exécution dans l’ordre visuel, dans la plage [0..countRuns()-1].
Retours
objet BidiRun contenant les détails de l’exécution. La direction de l’exécution est LTR==0 ou RTL==1, jamais MIXED.
- Attributs
Remarques
Obtenez un BidiRun objet en fonction de son index. Les méthodes BidiRun peuvent être utilisées pour récupérer le début logique, la longueur et le niveau de l’exécution, qui peuvent être même pour une exécution LTR ou impaire pour une exécution RTL. Dans une exécution RTL, le caractère au début logique se trouve visuellement à droite de l’exécution affichée. La longueur est le nombre de caractères dans l’exécution.
countRuns() est normalement appelé avant la récupération des exécutions.
Exemple :
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);
}
}
Notez que dans les exécutions de droite à gauche, le code comme celui-ci place la deuxième substitution avant les premiers (ce qui est généralement une mauvaise idée) et la combinaison de caractères avant les caractères de base.
L’utilisation de {@link #writeReordered}, éventuellement avec l’option {@link #KEEP_BASE_COMBINING} , peut être prise en compte pour éviter ces problèmes.
Java documentation pour android.icu.text.Bidi.getVisualRun(int).
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.