展会信息港展会大全

Android 技术总结(007)—— 随手指移动的ImageView
来源:互联网   发布日期:2015-10-03 11:23:25   浏览:1934次  

导读:效果图。首次进入程序。手指点击屏幕上的任意位置,图片会随之移动。工程结构。布局文件。[html]<?xml version="1.0" encoding="utf-8"?>...

效果图。

首次进入程序。

手指点击屏幕上的任意位置,图片会随之移动。

工程结构。

布局文件。

[html]

<?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>

实现代码。

[java]

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;

}

}

[java]

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 www.2cto.com

public boolean onTouchEvent(MotionEvent event) {

moveImageView.autoMouse(event);

return false;

}

}

作者:manoel

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港