canvas教程

[Android]疯狂讲义学习-跟随手指的小球

字号+ 作者:H5之家 来源:H5之家 2017-09-02 18:04 我要评论( )

来自:疯狂android讲义 为了实现一个跟随的小球,自定义UI组件,这个UI组件将会在指定位置绘制一个小球,这个位置可以动态改变。当用户通过手指在屏幕上拖动时,

来自:疯狂android讲义
为了实现一个跟随的小球,自定义UI组件,这个UI组件将会在指定位置绘制一个小球,这个位置可以动态改变。当用户通过手指在屏幕上拖动时,程序监听这个手指动作,把手指的位置传入自定义UI组件,并通知该组件重绘制即可。

DrawView UI组件

package com.dezai.customerviewactivity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; { public float currentX=40; public float currentY=50; Paint p=new Paint(); public DrawView(Context context) { super(context); } public DrawView(Context context, AttributeSet set){ super(context,set); } (Canvas canvas){ super.onDraw(canvas); //设置画笔颜色 p.setColor(Color.RED); //绘制一个小圆(作为一个小球) canvas.drawCircle(currentX,currentY,25,p); } (MotionEvent event){ //修改currentX currentY 两个属性 currentX =event.getX(); currentY=event.getY(); //通知当前组件重绘制自己 invalidate(); ; } }

XML:

======> </android.support.constraint.ConstraintLayout>

MainActivity

package com.dezai.customerviewactivity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; { (Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

这里写图片描述

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Android中在屏幕上涂鸦的例子

    Android中在屏幕上涂鸦的例子

    2017-09-02 16:01

  • Android 2D绘图解析之 Canvas,Paint

    Android 2D绘图解析之 Canvas,Paint

    2017-09-01 08:03

  • Android 文字绘制(DrawText)技术总结

    Android 文字绘制(DrawText)技术总结

    2017-08-31 18:02

  • Android小白的探索:2D绘图之Android简易版Microsoft Visio学习之路 一

    Android小白的探索:2D绘图之Android简易版Microsoft Visio学习之路

    2017-08-28 17:04

网友点评
%