背景中的可移动大图片
问题描述:
我有一些布局,我想在背景中添加大图片(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;
}
但它的工作原理奇怪。
答
我找到了解决方案,但它不漂亮。
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。
我不知道它是如何与其他屏幕一起工作的。
你想创造一些视差效果? – deniz 2014-09-10 10:32:02
我不知道你的意思。如何应用它? – Votary 2014-09-10 10:43:00
像这样http://howrobotswork.wordpress.com/2014/05/09/parallaxviewpager-parallax-background-effect-for-the-viewpager/? – deniz 2014-09-10 10:46:12