package
com.example.myselfcomponent;
import
android.R.integer;
import
android.R.style;
import
android.content.Context;
import
android.content.res.TypedArray;
import
android.graphics.Canvas;
import
android.graphics.Color;
import
android.graphics.Paint;
import
android.graphics.Paint.Style;
import
android.graphics.Rect;
import
android.util.AttributeSet;
import
android.view.View;
/**
* 自定义组件
* */
public
class
MyView
extends
View{
Paint paint;
String text;
public
MyView(Context context) {
super
(context);
paint=
new
Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(
28
);
}
public
MyView(Context context,AttributeSet attrs) {
super
(context, attrs);
paint=
new
Paint();
TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.MyView);
int
color=typedArray.getColor(R.styleable.MyView_textColor,
0xFFFFFF
);
float
size=typedArray.getDimension(R.styleable.MyView_textSize,
20
);
text=typedArray.getString(R.styleable.MyView_text);
paint.setColor(color);
paint.setTextSize(size);
typedArray.recycle();
}
/**
* 初始化组件时被触发,进行组件的渲染
* Canvas 画布
* */
@Override
protected
void
onDraw(Canvas canvas) {
super
.onDraw(canvas);
paint.setStyle(Style.FILL);
canvas.drawRect(
new
Rect(
10
,
10
,
90
,
90
), paint);
paint.setColor(Color.BLUE);
canvas.drawText(text,
10
,
110
, paint);
}
}