“铭刻历史,勿忘国耻” - 九一八 88 周年
自定义国旗视图
package com.shanjing.chinesenationalflag.view;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.View;
public class FlagView extends View {
private Context mContext;
public FlagView(Context context) {
this(context, null);
}
public FlagView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public FlagView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.mContext = context;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
drawNomal(canvas);
}
private void drawNomal(Canvas canvas) {
Paint mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.RED); //背景布色彩
mPaint.setStrokeWidth(2);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
canvas.drawRect(0, 0, getMeasuredWidth(), getMeasuredHeight(), mPaint);
mPaint.setColor(Color.YELLOW);//五角星色彩
//大五角星
Path path = new Path();
path.moveTo(103, 49);
path.lineTo(141, 164);
path.lineTo(43, 92);
path.lineTo(164, 92);
path.lineTo(66, 164);
path.lineTo(103, 49);
path.lineTo(103, 49);
path.close();
canvas.drawPath(path, mPaint);
//第一个小的五角星
Path path1 = new Path();
path1.moveTo(186, 61);
path1.lineTo(216, 26);
path1.lineTo(214, 72);
path1.lineTo(189, 33);
path1.lineTo(231, 50);
path1.lineTo(186, 61);
path.close();
canvas.drawPath(path1, mPaint);
//第二个小的五角星
Path path2 = new Path();
path2.moveTo(228, 96);
path2.lineTo(269, 76);
path2.lineTo(247, 117);
path2.lineTo(241, 71);
path2.lineTo(273, 104);
path2.lineTo(244, 99);
canvas.drawPath(path2, mPaint);
//第三个小的五角星
Path path3 = new Path();
path3.moveTo(224, 148);
path3.lineTo(273, 148);
path3.lineTo(236, 175);
path3.lineTo(249, 131);
path3.lineTo(265, 175);
path3.lineTo(224, 148);
canvas.drawPath(path3, mPaint);
//第四个小的五角星
Path path4 = new Path();
path4.moveTo(189, 182);
path4.lineTo(231, 199);
path4.lineTo(186, 211);
path4.lineTo(216, 175);
path4.lineTo(213, 221);
path4.lineTo(189, 182);
canvas.drawPath(path4, mPaint);
}
}packag