时间:2020-10-09 22:43:40 | 栏目:Android代码 | 点击:次
ImageView用来显示任意图像图片,可以自己定义显示尺寸,显示颜色等等.
运行效果是这样的(文字说明):
首次进入程序,手指点击屏幕上的任意位置,图片会随之移动。
布局文件
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/FrameLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#f0f0f0" > <com.sgw.move.MoveImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon" > </com.sgw.move.MoveImageView> </FrameLayout>
实现代码
public class MoveImageView extends ImageView { public MoveImageView(Context context) { super(context); } public MoveImageView(Context context, AttributeSet attrs) { super(context, attrs, 0); } public MoveImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setLocation(int x, int y) { this.setFrame(x, y - this.getHeight(), x + this.getWidth(), y); } // 移动 public boolean autoMouse(MotionEvent event) { boolean rb = false; switch (event.getAction()) { case MotionEvent.ACTION_MOVE: this.setLocation((int) event.getX(), (int) event.getY()); rb = true; break; } return rb; } } public class TestImageViewMove extends Activity { private MoveImageView moveImageView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); moveImageView = (MoveImageView) this.findViewById(R.id.ImageView01); } @Override public boolean onTouchEvent(MotionEvent event) { moveImageView.autoMouse(event); return false; } }
以上内容给大家介绍了基于Android实现随手指移动的ImageView的相关知识,希望本文分享对大家有所帮助。