3

これが私がやろうとしていることです:

画像、ボールなどがあるとします。この画像を画面上のランダムなポイントに表示したいのですが、ユーザーはそれらをクリックすることになっています。

API 11以降では、これを使用します:

TextView ttvv = (TextView) findViewById(R.id.tt);
ttvv.setY(__ A random float__);
ttvv.setX(__ A random float__);

そして、次のように画面の寸法を取得します。

Random rnd = new Random();
float Y = rnd.nextFloat(ScreenHeight);
float X = rnd.nextFloat(ScreenWidth);

したがって、画像はランダムな位置にポップアップし、必要に応じて表示/非表示にすることができます。

ただし、上記は API 11 以降でのみ有効です。

API 8でこれを行う必要がありますが、同じ(またはSO自体に関する同様の質問)に対して同一の機能を見つけることができません。

API 8 でこれらの関数に相当するものはありますか?

4

2 に答える 2

0

少し異なりますが、必要に応じてより簡単に進めてください。

まず、画像またはテキストを表示するスペースを占有する必要があります。これは、SurfaceView または ImageView で行います。メソッドをオーバーライドする独自のドローアブルをそこに配置しますpaint()。paint メソッドでは、テキスト、ビットマップ、または任意の形状を描画できる Canvas オブジェクトを取得します。また、キャンバス内の好きな場所に配置できます。

興味があれば、サンプル コードをいくつか示します。机に戻るまでに少しだけ必要です。興味があれば教えてください。

于 2013-09-20T13:32:31.223 に答える
0

次のコードを使用して、ビューの位置を変更し、左マージンと上マージンを変更します。

    LayoutParams params = (LayoutParams)yourView.getLayoutParams();
    params.leftMargin = x;
    params.topMargin = y;
    yourView.setLayoutParams(params);

ビューは、次のように左上隅に配置された RelativeLayout にある必要があります。

<View
    android:id="@+id/your_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"/>

注: x と y は、ビューの左上隅の座標になります。

于 2013-09-20T13:38:39.420 に答える