可移动的大图片在背景中

时间:2014-09-10 10:19:47

标签: android image

我有一些布局,我想在后台添加大图(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;
}

但它很奇怪。

1 个答案:

答案 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如何与其他屏幕一起使用。