我有一些布局,我想在后台添加大图(3500x2200)。 我想点击某个地方时移动它(它是某种地图) - 点击的点应该在屏幕中心。
C ++ SFML中的示例很简单 - 我创建的图像大于屏幕并改变了它的位置。
当我将图像加载到ImageView时,它会自动缩放到屏幕宽度/高度。 我尝试缩放这个缩小的图像
android:scaleX="6"
android:scaleY="6"
并使用此:
map.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN){
map.setX(event.getX());
map.setY(event.getY());
}
return true;
}
但它很奇怪。
答案 0 :(得分:0)
我找到了解决方案,但它并不漂亮。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
final int centerY = metrics.heightPixels/2;
final int centerX = metrics.widthPixels/2;
和
map.setX(SCALE_X*(centerX-event.getX()));
map.setY(SCALE_Y*(centerY-event.getY()));
在我的示例SCALE_X = SCALE_Y = 6。
我不知道它的scalling如何与其他屏幕一起使用。