Freigeben über


TextBoundsInfo.GetOffsetForPosition(Single, Single) Methode

Definition

Gibt den Index des Zeichens zurück, das der angegebenen Position am nächsten kommt.

[Android.Runtime.Register("getOffsetForPosition", "(FF)I", "", ApiSince=34)]
public int GetOffsetForPosition (float x, float y);
[<Android.Runtime.Register("getOffsetForPosition", "(FF)I", "", ApiSince=34)>]
member this.GetOffsetForPosition : single * single -> int

Parameter

x
Single

die x-Koordinaten des betreffenden Standorts in den Koordinaten des Editors.

y
Single

die y-Koordinaten des betreffenden Standorts in den Koordinaten des Editors.

Gibt zurück

der Index des Zeichens, dessen Position der angegebenen Position am nächsten ist. Es wird -1 zurückgegeben, wenn kein Zeichen gefunden werden kann.

Attribute

Hinweise

Gibt den Index des Zeichens zurück, das der angegebenen Position am nächsten kommt. Sie ähnelt der Textlayout-API Layout#getOffsetForHorizontal(int, float). Und es wird hauptsächlich verwendet, um den Cursorindex (den Index des Zeichens, vor dem der Cursor platziert werden soll) für die angegebene Position zu suchen. Es ist garantiert, dass der zurückgegebene Index ein Graphembruch ist. Unter #getGraphemeSegmentFinder() finden Sie weitere Informationen.

Es wird davon ausgegangen, dass der Editor Text in horizontalen Linien von oben nach unten auslegt und jede Zeile gemäß dem im bidirektionalen Unicode-Algorithmus angegebenen Anzeigealgorithmus angeordnet ist.

Diese Methode überprüft nicht die Textbereiche, deren Zeileninformationen fehlen. Der Bereich von "s" reicht beispielsweise TextBoundsInfovon Index 5 bis 15. Wenn der zugeordnete SegmentFinder nur einen Zeilenbereich von 7 bis 12 identifiziert. Dann überprüft diese Methode den Text nicht in den Bereichen [5, 7) und [12, 15).

Unter den folgenden Bedingungen gibt diese Methode -1 zurück, was angibt, dass kein gültiges Zeichen gefunden wird: <ul<>li> Die angegebene y Koordinate befindet sich oberhalb der ersten oder unterhalb der letzten Zeile (die erste Oder die letzte Zeile wird durch die SegmentFinder von #getLineSegmentFinder()zurückgegebene identifiziert. </li><li> In diesem TextBoundsInfoist kein Zeichen enthalten. </li></ul>

Java-Dokumentation für android.view.inputmethod.TextBoundsInfo.getOffsetForPosition(float, float).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: