0

背景に「ボタン」が既に含まれている、アプリのきちんとした背景があります。

これらの「ボタン」をバウンディングボックスまたは長方形で囲み、その領域をタッチイベントに応答させたいと思います。

どうすればアンドロイドでこれを行うことができますか?

ありがとう!

4

4 に答える 4

0

任意のレイアウトで囲み、そのレイアウトのsetOnClickListenerを設定するだけです。

例として

 <LinearLayout 
   android:background="#abc123"
   android:layout_height="wrap_content"
   android:layout_width="wrap_content"
   android:paddingBottom="10dp"
   android:paddingTop="10dp"
   android:id="@+id/lay1">

 <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
 </LinearLayout>

次に、ボタンと線形レイアウトに別々のリスナーを配置します。これは、すべての画面と一貫性があります。つまり、パディングはどこでも修正されます。

于 2012-10-16T23:40:44.957 に答える
0

ビューを追加します(これは透明になり、すべてのビュー コンポーネントの上に配置されます)。そして、OnTouchListenerを View に設定します。次に、予想される X、Y 座標内でタッチ イベントをリッスンします。

于 2012-10-17T03:17:08.517 に答える
0

試して使う

Region rgn = new Region();

この中に、ボタンにあるべき境界線を設定します。

そして、クリックがこの領域の x と y 内にある場合、何かを行うという条件を確認してください...

参照

http://www.java2s.com/Code/Android/2D-Graphics/Regions.htm

于 2012-10-17T04:34:08.517 に答える
0
  1. XML でボタンを追加
  2. クリック リスナーのアタッチ
  3. アプリケーションの実行

詳細とヘルプについては、ここをクリックしてください

編集:実行用のコード

public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.but_1_but:
        // do stuff for 1st button
        break;
    case R.id.but_2_but:
        // do stuff for 2nd button
        break;
    }
}
于 2012-10-16T23:59:57.137 に答える