Android自定义view画圆
来源:互联网 发布:linux oracle 监听 编辑:程序博客网 时间:2024/05/20 19:45
package com.bwie.test.custom_view;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import static android.R.attr.textSize;
/**
* Created by dell on 2017/9/27.
*/
public class VirtualKeyView extends View {
public VirtualKeyView(Context context) {
super(context);
}
public VirtualKeyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public VirtualKeyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public VirtualKeyView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
//测量
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
//绘图
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//画圆
//初始化画笔 文字
Paint pa = new Paint();
//圆
Paint pa1 = new Paint();
Paint pa2 = new Paint();
Paint mCirclePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
float wi = canvas.getWidth() / 2;
float he = canvas.getHeight() / 2;
RectF mRectF = new RectF(wi * 0.1f, wi * 0.1f, he * 0.9f,
he * 0.9f);
pa.setColor(Color.RED);
// pa.setARGB(255, 000, 33, 56);
pa2.setColor(Color.WHITE);
pa.setTextSize(40);
pa.setTextAlign(Paint.Align.CENTER);
pa1.setColor(Color.BLUE);
pa.setAntiAlias(true); //设置画笔为无锯齿
pa1.setAntiAlias(true);
//整个画布的颜色
canvas.drawColor(Color.YELLOW);
canvas.drawCircle(wi, he, 200, pa);
canvas.drawCircle(wi, he, 150, pa2);
canvas.drawCircle(wi, he, 100, pa1);
canvas.drawText("aa", wi, he, pa);
canvas.drawCircle(wi, he, wi * 0.5f / 2, mCirclePaint);
canvas.drawArc(mRectF, 200, 200, false, pa);
canvas.drawText("你好", 0, "你好".length(), wi, he + textSize
/ 4, mTextPaint);
}
//定位
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import static android.R.attr.textSize;
/**
* Created by dell on 2017/9/27.
*/
public class VirtualKeyView extends View {
public VirtualKeyView(Context context) {
super(context);
}
public VirtualKeyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public VirtualKeyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public VirtualKeyView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
//测量
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
//绘图
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//画圆
//初始化画笔 文字
Paint pa = new Paint();
//圆
Paint pa1 = new Paint();
Paint pa2 = new Paint();
Paint mCirclePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
float wi = canvas.getWidth() / 2;
float he = canvas.getHeight() / 2;
RectF mRectF = new RectF(wi * 0.1f, wi * 0.1f, he * 0.9f,
he * 0.9f);
pa.setColor(Color.RED);
// pa.setARGB(255, 000, 33, 56);
pa2.setColor(Color.WHITE);
pa.setTextSize(40);
pa.setTextAlign(Paint.Align.CENTER);
pa1.setColor(Color.BLUE);
pa.setAntiAlias(true); //设置画笔为无锯齿
pa1.setAntiAlias(true);
//整个画布的颜色
canvas.drawColor(Color.YELLOW);
canvas.drawCircle(wi, he, 200, pa);
canvas.drawCircle(wi, he, 150, pa2);
canvas.drawCircle(wi, he, 100, pa1);
canvas.drawText("aa", wi, he, pa);
canvas.drawCircle(wi, he, wi * 0.5f / 2, mCirclePaint);
canvas.drawArc(mRectF, 200, 200, false, pa);
canvas.drawText("你好", 0, "你好".length(), wi, he + textSize
/ 4, mTextPaint);
}
//定位
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
}
阅读全文
1 0
- Android 自定义view画圆
- Android 自定义View画圆
- Android 自定义View画圆
- Android自定义view画圆
- Android自定义View---画圆
- Android,自定义View画圆
- Android View---自定义View
- Android View---自定义View
- Android 使用自定义View画圆
- Android studio 自定义view 画圆
- Android自定义View画圆+进度条+自定义View梯形
- Android自定义View(ImageView画圆)
- Android 自定义View 之 自定义View属性
- 【自定义View系列】android自定义View概述
- Android自定义view自定义属性
- Android自定义控件 -- 自定义View
- android自定义view(自定义数字键盘)
- Android自定义View-自定义属性
- 计蒜客-求第K小
- webclient详解(webservice)
- Android--自定义View
- 第四章
- <C语言>static与extern关键字
- Android自定义view画圆
- 设计模式-行为-观察者
- 算法设计与分析笔记之(1):算法概述
- hdu-45221-小明系列问题——小明序列-(线段树)
- [bzoj2097][Usaco2010 Dec]Exercise 奶牛健美操
- CSS Flexbox 布局
- 背包九讲——多重背包
- HDU-1003 Max Sum(经典DP)
- Linux/Ubuntu下UGO及ACL权限管理