Android实现随手指移动小球
本文实例为大家分享了Android实现随手指移动小球的具体代码,供大家参考,具体内容如下
这个随手指移动小球,首先要使用paint画笔在canvas画布画出一个圆,然后重写OnTouchEvent(),进行小球的坐标的获取和小球的重新绘画。
packagecom.bwei.self_view; importandroid.content.Context; importandroid.graphics.Canvas; importandroid.graphics.Color; importandroid.graphics.Paint; importandroid.support.annotation.Nullable; importandroid.util.AttributeSet; importandroid.view.MotionEvent; importandroid.view.View; importandroid.view.WindowManager; /** *CreatedbyZhangTAOon2017/11/2. */ publicclassMyViewextendsView{ //初始化圆的位置 publicintx=200; publicinty=600; Contextcontext; publicMyView(Contextcontext){ super(context,null); this.context=context; } publicMyView(Contextcontext,@NullableAttributeSetattrs){ super(context,attrs,0); this.context=context; } publicMyView(Contextcontext,@NullableAttributeSetattrs,intdefStyleAttr){ super(context,attrs,defStyleAttr); initView(); this.context=context; } privatevoidinitView(){ setBackgroundColor(Color.BLUE); } /** *@canvas画布paint画笔 */ @Override protectedvoidonDraw(Canvascanvas){ super.onDraw(canvas); //建立一根画笔 Paintpaint=newPaint(); paint.setStyle(Paint.Style.FILL); paint.setColor(Color.RED); paint.setFakeBoldText(true); //画布 canvas.drawCircle(DipUtils.dip(getContext(),x), DipUtils.dip(getContext(),y), DipUtils.dip(getContext(),50),paint); } /** *进行设置touch移动 */ @Override publicbooleanonTouchEvent(MotionEventevent){ super.onTouchEvent(event); intaction=event.getAction(); switch(action){ caseMotionEvent.ACTION_DOWN: caseMotionEvent.ACTION_MOVE: caseMotionEvent.ACTION_UP: //获取当前触摸点的x,y坐标 x=(int)event.getX(); y=(int)event.getY(); invalidate(); break; } //获取屏幕的宽高 WindowManagermanger=(WindowManager)context.getSystemService(Context.WINDOW_SERVICE); intwidth=manger.getDefaultDisplay().getWidth(); intheight=manger.getDefaultDisplay().getHeight(); //重新绘制圆,控制小球不会被移除屏幕 if(x>=20&&y>=20&&x<=width-20&&y效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。