我是Android SDK的新手,请原谅我的愚蠢问题。 我创建了一个简单的应用程序,将ImageView设置为背景android:background =“@ drawable / image” 我添加了两个缩放按钮,所以我可以放大和缩小整个屏幕上的图片。所以我的问题是我应该使用OnTouchListener还是有更好的方法来向上,向下,向左或向右移动图片视图用我的手指,我只需要这些基本事件,没有别的。 我添加了部分代码,如果有人告诉我,哪里可以更好地实现它。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_load_map);
zoom = (ZoomControls) findViewById(R.id.zoomControls1);
img = (ImageView) findViewById(R.id.imageView1);
startX = img.getScaleX();
startY = img.getScaleY();
zoom.setOnZoomInClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
float x = img.getScaleX();
float y = img.getScaleY();
img.setScaleX((float) (x+1));
img.setScaleY((float) (y+1));
}
});
zoom.setOnZoomOutClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
float x = img.getScaleX();
float y = img.getScaleY();
if((x>startX) & (y>startY)) {
img.setScaleX((float) (x-1));
img.setScaleY((float) (y-1));
}
}
});
}
最好使用OnTouchListener吗?
答案 0 :(得分:0)
是的,这是为ImageView实现 OnTouchListener 移动的好方法。
你可以通过这里
https://developer.android.com/training/gestures/multi.html
http://www.techotopia.com/index.php/Android_Touch_and_Multi-touch_Event_Handling
http://www.mysecretroom.com/www/programming-and-software/android-multi-touch-handling
http://judepereira.com/blog/multi-touch-in-android-translate-scale-and-rotate/
http://examples.javacodegeeks.com/android/core/ui/listview/android-multitouch-listview-example/
http://android-developers.blogspot.in/2010/06/making-sense-of-multitouch.html