基于Android实现随手指移动的ImageView

时间:2021-05-19

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.MoveImageViewandroid: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);}@Overridepublic boolean onTouchEvent(MotionEvent event) {moveImageView.autoMouse(event);return false;}}

以上内容给大家介绍了基于Android实现随手指移动的ImageView的相关知识,希望本文分享对大家有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章