您的位置:首页 > 其它

自定义View

2016-06-19 12:28 253 查看
简单的实现自定义View

public View (Context context)是在java代码创建视图的时候被调用(使用new的方式),如果是从xml填充的视图,就不会调用这个

public View (Context context, AttributeSet attrs)这个是在xml创建但是没有指定style的时候被调用

public View (Context context, AttributeSet attrs, int defStyle)这个是在第二个基础上添加style的时候被调用的

<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.example.myrect.rect;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class MyView extends View {

/**
* @param context
* @param attrs
* @param defStyleAttr
*/
public MyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}

/**
* @param context
* @param attrs
*/
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}

/**
* @param context
*/
public MyView(Context context) {
super(context);
init();
}
/**
* 初始化画笔的属性
*/
private void init() {
p=new Paint();
p.setColor(Color.RED);//设置画笔颜色为红色

}

@Override
public void draw(Canvas canvas) {
// 这里是绘制方法
super.draw(canvas);
canvas.save();//保存
canvas.translate(200, 200);//画布平移
canvas.rotate(degrees,50,50);//旋转
canvas.drawRect(0, 0, 100, 100, p);//绘制100*100的矩形
canvas.restore();//取出保存的状态
degrees+=100;
invalidate();//重复绘制
}
private Paint p;//画笔
private float degrees=0;//旋转角度

}
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: