2014-09-10 159 views
0

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

回答

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。

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