ImageView の特定の部分に触れて、トーストを表示できるようにしたいと考えています。
これが私のxmlファイル「dessintest.xml」です:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/relative1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ImageView
android:id="@+id/imageview1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/dessin1"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
>
</ImageView>
<ImageButton
android:id="@+id/imageButton1"
android:background="#00000000"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/image" />
</RelativeLayout>
次に、メイン ファイル「DessinTest.java」を次に示します。
public class DessinTest extends Activity {
ImageButton imageButton;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.dessintest);
addListenerOnButton();
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.dessin1);
TouchImageView touch = new TouchImageView(this);
touch.setImageBitmap(bm);
touch.setMaxZoom(4f); //change the max level of zoom, default is 3f
setContentView(touch);
}
public void addListenerOnButton() {
imageButton = (ImageButton) findViewById(R.id.imageButton1);
imageButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(DessinTest.this,"Click !", Toast.LENGTH_SHORT).show();
}
});
}
}
それを試してみると、ImageView をズームできますが、ImageButton が表示されません。このコードを削除すると (ImageView のズーム用のコード):
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.dessin1);
TouchImageView touch = new TouchImageView(this);
touch.setImageBitmap(bm);
touch.setMaxZoom(4f); //change the max level of zoom, default is 3f
setContentView(touch);
ImageButton が表示され、クリックできます。
私が望むのは、クリックとズームの両方の機能を持つことです。
ありがとう !