我想在android中使用onTouchListener()移动一个imageview和手指......
我创建了一个 xml -->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/rel_slide"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/background_dark" >
<ImageView
android:id="@+id/img_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>"
</RelativeLayout>
</RelativeLayout>
现在在 Activity 文件中,我在这个 imageView 上实现了 onTouchListener:img_arrow
这是代码:
((ImageView) findViewById(R.id.img_arrow)).setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
switch (arg1.getAction()) {
case MotionEvent.ACTION_MOVE:
LayoutParams layoutParams = (LayoutParams)v.getLayoutParams();
layoutParams.leftMargin=(int)arg1.getX();
layoutParams.topMargin=(int)arg1.getY();
v.setLayoutParams(layoutParams);
break;
}
return true;
}
});
但这会导致一次显示 2 个的 imageView 闪烁,这可能是因为调用 ACTION_MOVE 时layoutParams的设置非常快.....请帮助