我花了一些时间研究这个,但仍然没有找到一个好的答案。
我想要的是在屏幕上拖动ImageView。不是拖放,而是实际阻力。
本教程非常有用:
http://code.tutsplus.com/tutorials/android-gesture--mobile-2239
它工作得很完美,但它设计用于拖动位图,而不是ImageView。我尝试用ImageView替换Bitmap,但我不确定Canvas和ImageView如何在onDraw方法中进行交互。我试过imageView.draw(canvas);这似乎不起作用 - ImageView根本没有出现。
位图不是主意,因为您不能像使用ImageView那样为它们添加边框。
我也希望能够将ImageView从屏幕上移开。
有什么建议吗?
提前致谢。
答案 0 :(得分:1)
您可以创建与您的所有屏幕匹配的RelativeLayout。在布局中创建ImageView。
将OnTouchListener
侦听器设置为相对布局以处理手指坐标。
之后你可以这样写:
public boolean onTouch(View v, MotionEvent event)
{
if (event.getAction() == MotionEvent.ACTION_MOVE)
{
move(event);
}
}
public void move(MotionEvent event)
{
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) mImageView.getLayoutParams();
layoutParams.topMargin = event.getY();
layoutParams.leftMargin = event.getX();
mImageView.setLayoutParams(layoutParams);
}
与使用方法move(MotionEvent event)
一样,您可以将imageView拖动到所需的位置。
我希望这能帮到你!