第一天开通博客。
我是一只小菜鸟,只能边学边记录。
今天和大家分享的是跟随手指移动的小球,很简单,用在项目里却比较酷。
首先创建一个画图类DrawView
1、定义并创建画笔 Paint p = new Paint();
2、重写onDraw()方法:设置画笔颜色,绘制小球 p.setColor(). canves.drawCircle(currentX,currentY,直径,p);
3、重写onTouchEvent()方法:修改currentX和currentY两个属性:event.getX()和event.getY().
重绘自己:invilidate();
4、在清单文件中添加drawView控件
代码如下:
public class DrawView extends View { public float currentX = 40; public float currentY = 50; //定义并创建画笔 Paint p = new Paint(); public DrawView(Context context, AttributeSet attrs) { super(context, attrs); } public DrawView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置画笔颜色 p.setColor(Color.RED); //绘制一个小球 canvas.drawCircle(currentX,currentY,15,p); } /*为该组件的触碰事件重写事件处理方法*/ @Override public boolean onTouchEvent(MotionEvent event) { //修改currentX,currentY两个属性 currentX = event.getX(); currentY = event.getY(); //通知当前组件重绘自己 invalidate(); return true; } }
清单文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.administrator.smsmanager.activity.view.DrawView android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>