背景に「ボタン」が既に含まれている、アプリのきちんとした背景があります。
これらの「ボタン」をバウンディングボックスまたは長方形で囲み、その領域をタッチイベントに応答させたいと思います。
どうすればアンドロイドでこれを行うことができますか?
ありがとう!
背景に「ボタン」が既に含まれている、アプリのきちんとした背景があります。
これらの「ボタン」をバウンディングボックスまたは長方形で囲み、その領域をタッチイベントに応答させたいと思います。
どうすればアンドロイドでこれを行うことができますか?
ありがとう!
任意のレイアウトで囲み、そのレイアウトの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>
次に、ボタンと線形レイアウトに別々のリスナーを配置します。これは、すべての画面と一貫性があります。つまり、パディングはどこでも修正されます。
ビューを追加します(これは透明になり、すべてのビュー コンポーネントの上に配置されます)。そして、OnTouchListenerを View に設定します。次に、予想される X、Y 座標内でタッチ イベントをリッスンします。
試して使う
Region rgn = new Region();
この中に、ボタンにあるべき境界線を設定します。
そして、クリックがこの領域の x と y 内にある場合、何かを行うという条件を確認してください...
参照
詳細とヘルプについては、ここをクリックしてください
編集:実行用のコード
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;
}
}