注意:本文含金量不高,仅仅能当入门的笔记
这次可以学到:1.View的重写 2.加入自己的CustomView,重写了一次view,可以更加了解github上的开源view项目 3.复习this和super
程序运行结果:跟踪手指的文字
程序代码:
为了代码更有条理性,我建议在com.example.name 的example下建立一个文件夹,叫做view(很多github上都是这个写的),新建“MyView”
package com.example.view;
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;
/**
* Created by leon on 14/7/23.
*/
public class Myview extends View {
//代码的关键是继承和重写
//super和this的复习:http://blog.youkuaiyun.com/qw3752258/article/details/22616851
//View研究不彻底,现在就完了
public float currentX = 50;
public float currentY = 40;
private Paint paint = new Paint();
//构造方法继承父类
public Myview (Context context,AttributeSet set)
{
super(context,set);
}
@Override
public void onDraw(Canvas canvas)
{
//View:protected void onDraw(android.graphics.Canvas canvas) { /* compiled code */ }
//调用父类(View)的protect方法
super.onDraw(canvas);
paint.setColor(Color.BLUE);
canvas.drawText("Hello World",currentX,currentY,paint);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
currentX = event.getX();
currentY = event.getY();
//这里this是View,重新绘制
this.invalidate();
//处理完成,不发送广播
return true;
}
}
然后,在所见即所得的界面下,加入customerview就可以了