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座標は、最初の行の上または最後の行の下にあります (最初の行または最後の行は から#getLineSegmentFinder()返される によってSegmentFinder識別されます)。 </li li><> この TextBoundsInfoには文字がありません。 </li></ul>

android.view.inputmethod.TextBoundsInfo.getOffsetForPosition(float, float)Java ドキュメント。

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

適用対象