私はそれに2つのボタンで構成された1つの画像を持っています。私はデフォルトのボタンコントロールを使いたくないのですが、私はイメージのボタンに対してアクションを実行したいと思います。画面上のAndroidをクリック
画像のボタンにonclickの実行するにはどのような方法がある。..
私はそれに2つのボタンで構成された1つの画像を持っています。私はデフォルトのボタンコントロールを使いたくないのですが、私はイメージのボタンに対してアクションを実行したいと思います。画面上のAndroidをクリック
画像のボタンにonclickの実行するにはどのような方法がある。..
あなたはボタンのウィジェットを使用する必要があります。押されたために、あなたが異なる画像を必要とする場合/カスタムDrawableのこのようにすることができ推移
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/button" />
:デフォルトの外観を好まない場合は、属性を持つボタンのカスタムイメージを指定することができます
:あなたはImageButton
ImageButton yourButton; // Declare as class member
のonCreateコードを使用することができます
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:state_hovered="true"
android:drawable="@drawable/button_focused" /> <!-- hovered -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
yourButton = (ImageButton)findViewById(R.id.yourbutton);
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
// your code
}
});
XMLコードは次のとおりです。
<ImageButton
android:background="@drawable/img_btn_bg"
android:src="@drawable/img_to_show"></ImageButton>
私はuは画像を分割し、その後、uは2枚の画像のそれぞれにhavexzのコードを使用することができなければならないと思います。私は確信していませんが、私はちょうどあなたがクリックで反応する画像の領域を与えることができるとは思わない。
GestureDetector
クラスを参照してください。あなたはGestureDetector
のonTouchEvent(event)
を呼び出し、クリックの座標を決定するためにevent.getX()
とevent.getY()
メソッドを使用してタップの座標を取得するには付属のリスナーで独自OnSingleTapConfirmed(MotionEvent event)
を実装するためにImageView
のonTouchEvent(MotionEvent event)
をオーバーライドする必要があります。
さらに、true
を返すように、リスナーのonDown(MotionEvent event)
メソッドをオーバーライドする必要があります。
おそらく最もエレガントな解決策ではありませんが、それは仕事をするでしょう。