0

三角形のボタン(PNG画像)を使用していますが、画像の表示領域でのみクリック可能にする必要があります。下の三角形のボタンの画像でわかるように、画像では、画像の表示部分、つまり黒と赤でのみクリック可能にする必要があります。緑の領域は透明でクリックできません。この点を私に助けてください。私はあなたにとても感謝します。前もって感謝します。

ここに画像の説明を入力してください

4

3 に答える 3

1

Androidでクリックされた画像領域を特定しますか?この質問を確認してください

または、緑が透明になる場合、画像の「表示」コンテンツがクリックされたかどうかを検出する最も簡単な方法は、OnTouchListenerを接続し、タッチ座標を取得してから、Bitmap.getPixel(int x、int y)。これによりARBGカラーが返されるため、アルファチャネルを使用した画像ではほとんど問題が発生しないはずです。「透明」(緑が透明になる場合)は無効になり、それ以外はすべて実際のコンテンツがタップされたことを意味します。

スタートアップとしてこのようなもの:

int color = Bitmap.getPixel(x,y); // x and y are the location of the touch event in Bitmap space
int alpha = Color.getAlpha(color);
boolean isTransparent = (alpha==0);
于 2013-03-20T11:22:08.680 に答える
0

このリンクを参照できます:

画像マップ

または、この同様の質問を参照することもできます:

リンク

ただし、手動で座標を計算する必要があり、Android画面のサイズが異なるため、問題が発生する可能性があるため、これを行うことはお勧めしません。

于 2013-03-20T11:24:11.697 に答える
0

OnTouchListenerビューに設定し、三角形の内側をクリックしたかどうかを確認できます(OnTouchイベントはMotionEventオブジェクトを送信し、そこからタッチイベントの座標を取得できます)。

ボタンが長方形としてクリック可能であるなら、それはより良いでしょう?ここのように、stackoverflowでは、投票ボタンも三角形の形をしていますが、長方形の形でクリックできます。

于 2013-03-20T11:24:40.497 に答える