0
                                A B C D
                                E F G H  --figure.

私は Android の Book アプリに取り組んでいます。私の本のアプリには、多くの画像ページがあります。最初の画像ページには、26 個のアルファベット (A ~ Z)、生の 4 個のアルファベット (私の写真に示されているように) があります。

私の問題は:

  1. アルファベット (A ~ Z) ごとにクリック可能な領域を作成したいと考えています。ユーザーがアルファベットのいずれかをクリックまたはタッチすると、「画像 A がクリックされました」のように正方形のボックスが表示されます (上の図を参照)。

  2. アルファベットの画像(AZ)をタッチまたはクリックするたびに、対応するサウンドを渡します。つまり、単一の画像ページの異なる領域に対して異なるリスナーを呼び出したいということです。

クリック可能な領域または座標がエミュレータごとに異なる画像にクリック可能な領域を実装する方法についてはわかりません。

サンプルコード、アイデア、または参照リンクを提供してください。

少し早いですがお礼を

4

1 に答える 1

0

ほんの数日前に非常によく似た質問に答えたことを覚えています。これを画像として実装するには、画像のどの領域が何を意味するかを知る必要があります (つまり、タッチ イベントの座標を取得した場合、これらの座標がどのアクションに対応するか)。この情報があればOnTouchListener、ImageView に登録できます。

imageView.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch (View v, MotionEvent event) {
        int x = event.getX();
        int y = event.getY();
        //now deal with coordinates (x, y)
    }
});

ただし、あなたの場合、26個のボタンを備えたレイアウトを使用OnClickListenerし、それぞれで使用することをお勧めします. ボタンを好きな形に簡単に設定でき、個々の背景ドローアブルをそれらに簡単に設定して、1 つの全体画像として見せることができます。

于 2012-04-25T11:51:26.727 に答える