別のアクティビティから画像を取得して表示し、ピンチを使用してこの画像をズームインおよびズームアウトできるはずのAndroid用アプリに取り組んでいます。次のコードでこれを達成しようとしましたが、onTouchListener でエラーが発生します。「onTouchListener を型に解決できません」と表示されていますが、その理由はわかりません。インポートも何もできませんが、構文は問題ないと思います。とにかく、何が問題なのか知っている人はいますか?
public class ImageEditing extends Activity implements onTouchListener {
ImageView selectedImage;
Intent intent;
private float oldDistance = 0f;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.imageediting);
// Load the selected image
selectedImage = (ImageView) findViewById(R.id.selectedImage);
String imagePath = getIntent().getStringExtra("com.andriesse.henk.path");
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
selectedImage.setImageBitmap(bitmap);
selectedImage.setOnTouchListener(this);
}
public boolean onTouch(View v, MotionEvent event) {
if((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_MOVE) {
if(event.getPointerCount() == 2) {
float x = event.getX(0) - event.getX(1);
float y = event.getY(0) - event.getY(1);
float newDistance = FloatMath.sqrt(x*x+y*y);
if(newDistance > oldDistance) {
oldDistance = newDistance;
} else {
oldDistance = newDistance;
}
}
}
return true;
}
}
編集:
onTouchListener の問題は解決しましたが、ピンチ トゥ ズームが機能しません。誰かが理由を知っていますか?