言語

TextBoundsInfo.GetOffsetForPosition(Single, Single) メソッド

定義

指定した位置に最も近い文字のインデックスを返します。

[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

パラメーター

x
Single

エディターの座標内の、関心のある場所の x 座標。

y
Single

エディターの座標内の、関心のある場所の y 座標。

返品

位置が指定された位置に最も近い文字のインデックス。 文字が見つからない場合は、-1 が返されます。

属性

注釈

指定した位置に最も近い文字のインデックスを返します。 これは、テキスト レイアウト API Layout#getOffsetForHorizontal(int, float)に似ています。 また、これは主に、指定された位置のカーソル インデックス (カーソルを配置する前の文字のインデックス) を検索するために使用されます。 返されるインデックスが grapheme の中断であることが保証されます。 詳細については、 #getGraphemeSegmentFinder() を参照してください。

エディターが上から下に水平線でテキストをレイアウトし、各行が Unicode 双方向アルゴリズムで指定された表示アルゴリズムに従ってレイアウトされることを前提としています。

このメソッドは、行情報が不足しているテキスト範囲を確認しません。 たとえば、 TextBoundsInfoの範囲はインデックス 5 から 15 です。 関連付けられている SegmentFinder が 7 から 12 までの 1 行の範囲のみを識別する場合。 その後、このメソッドは 、[5, 7) と [12, 15) の範囲のテキストをチェックしません。

次の条件では、このメソッドは有効な文字が見つからないことを示す -1 を返します。<ul><li>指定されたy座標は、最初の行の上または最後の行の下にあります (最初の行または最後の行は、SegmentFinderから返された#getLineSegmentFinder()によって識別されます)。 </li><li> この TextBoundsInfoには文字がありません。 </li></ul>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象