5

画面の半分をカバーする長いテキストを含むテキストビューがあります。

このテキストビューでは、異なる位置に 2 つの単語があり、その上にガラス効果を与える空白のレイアウトを配置する必要があります。

テキストビューをフレームレイアウトに配置し、その上にレイアウトを配置することでこれを行うことができます。

問題は、テキストがさまざまなデバイスでさまざまな位置に配置される可能性があるため、単語の座標をどのように取得するかです。

ここに画像の説明を入力

白く印をつけたところにレイアウトを配置したいです。誰か助けてくださいありがとう。

4

3 に答える 3

3

これはあなたに役立ちます

public void getLocationOnScreen (int[] location)
    Since: API Level 1

Computes the coordinates of this view on the screen. The argument must be an
array of two integers. After the method returns, the array contains the x and y
location in that order.

Parameters
   location   an array of two integers in which to hold the coordinates

このコード、このリンク、およびこのリンクも参照してください。

于 2012-07-15T05:53:45.417 に答える
1

テキストの座標を TextView から直接取得できるかどうかはわかりません。TextView クラスのソース コード内を検索する必要があります。しかし....テキストビューをビットマップとしてレンダリングし、ビットマップ内でテキストの座標を検索すると(検索されたテキストが青色の場合、長方形を簡単に取得できるはずです!

于 2012-07-15T06:23:34.717 に答える
-1

ここで本当に必要なのは backgroundspan です:

span = new BackgroundColorSpan(Color.WHITE);
text.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
于 2014-11-26T16:34:36.093 に答える