背景中的可移动大图片

问题描述:

我有一些布局,我想在背景中添加大图片(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

你想创造一些视差效果? – deniz 2014-09-10 10:32:02

+0

我不知道你的意思。如何应用它? – Votary 2014-09-10 10:43:00

+0

像这样http://howrobotswork.wordpress.com/2014/05/09/parallaxviewpager-parallax-background-effect-for-the-viewpager/? – deniz 2014-09-10 10:46:12

我找到了解决方案,但它不漂亮。

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。

我不知道它是如何与其他屏幕一起工作的。