当前位置: 移动技术网 > IT编程>移动开发>Android > Android中View跟随手指移动效果

Android中View跟随手指移动效果

2019年07月24日  | 移动技术网IT编程  | 我要评论

叶文照片,麻辣婆媳第二部全集,清幽异梦

最近做了一个项目中,其中遇到这样的需求要求图片移动到手指触碰的地方。具体实现代码如下所示:

package com.example.plane;
import android.app.activity;
import android.os.bundle;
import android.util.displaymetrics;
import android.view.display;
import android.view.keyevent;
import android.view.menu;
import android.view.menuitem;
import android.view.motionevent;
import android.view.view;
import android.view.view.onkeylistener;
import android.view.view.ontouchlistener;
import android.view.window;
import android.view.windowmanager;
public class mainactivity extends activity {
private int speed = 10;
private myplane plane;
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
requestwindowfeature(window.feature_no_title);
getwindow().setflags(windowmanager.layoutparams.flag_fullscreen,
windowmanager.layoutparams.flag_fullscreen);
plane = new myplane(this);
setcontentview(plane);
// plane.setbackgroundresource(r.drawable.ic_launcher);
windowmanager manager = getwindowmanager();
display display = manager.getdefaultdisplay();
displaymetrics metrics = new displaymetrics();
display.getmetrics(metrics);
plane.currentx = metrics.widthpixels / 2;
plane.currenty = metrics.heightpixels / 2;
}
@override
public boolean ontouchevent(motionevent event) {
/*float x = 0;
float y = 0;
switch (event.getaction()) {
case motionevent.action_down:
x = event.getx();
y = event.gety();
break;
case motionevent.action_move:
x = event.getx();
y = event.gety();
break;
case motionevent.action_up:
x = event.getx();
y = event.gety();
break;
}*/
plane.currentx=event.getx();
plane.currenty=event.gety();
plane.invalidate();
return super.ontouchevent(event);
}
}
package com.example.plane;
import android.content.context;
import android.graphics.bitmap;
import android.graphics.bitmapfactory;
import android.graphics.canvas;
import android.graphics.paint;
import android.view.view;
public class myplane extends view {
bitmap plane;
public float currentx;
public float currenty;
public myplane(context context) {
super(context);
plane = bitmapfactory.decoderesource(context.getresources(),
r.drawable.ic_launcher);
setfocusable(true);
}
@override
protected void ondraw(canvas canvas) {
super.ondraw(canvas);
paint p = new paint();
canvas.drawbitmap(plane, currentx, currenty, p);
}
}

以上所述是小编给大家介绍的android中view跟随手指移动效果,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网