android canvas 画闹钟 圆弧
16lz
2021-01-23
package com.example.hui;import java.util.ArrayList;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.RectF;import android.graphics.Paint.Style;import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//setContentView(R.layout.main);setContentView(new CustomView(this));} class CustomView extends View{ Paint paint; //private ArrayList graphics = new ArrayList(); // PointF point; public CustomView(Context context) { super(context); paint = new Paint(); //设置一个笔刷大小是3的黄色的画笔 paint.setColor(Color.RED); paint.setStrokeJoin(Paint.Join.ROUND); paint.setStrokeCap(Paint.Cap.ROUND); paint.setStrokeWidth(3); } //在这里我们将测试canvas提供的绘制图形方法 @Override protected void onDraw(Canvas canvas) { //绘制黑色背景 Paint b = new Paint(); b.setColor(Color.BLACK); RectF rect = new RectF(0, 0, 900, 900); canvas.drawRect(rect, b); //画大圆圈 paint.setAntiAlias(true); paint.setStyle(Style.STROKE); canvas.translate(canvas.getWidth()/2, 200); //将位置移动画纸的坐标点:150,150 canvas.drawCircle(0, 0, 100, paint); //画圆圈 //使用path绘制路径文字 canvas.save(); canvas.translate(-75, -75); Path path = new Path(); path.addArc(new RectF(0,0,150,150), -180, 180); Paint citePaint = new Paint(paint); citePaint.setTextSize(14); citePaint.setStrokeWidth(1); //设置画笔的宽度 canvas.drawTextOnPath("ninngsnhenngcnai@2015080558s", path, 28, 0, citePaint); canvas.restore(); //画刻度 Paint tmpPaint = new Paint(paint); //小刻度画笔对象 tmpPaint.setStrokeWidth(1); //设置画笔的宽度 float y=100; int count = 60; //总刻度数 for(int i=0 ; i
更多相关文章
- 圆圈里面是个叉号
- Android图表控件MPAndroidChart——LineChart实现 XY轴、原点线
- 超级炫酷!HTML5 Canvas火焰画笔动画
- 如何改变d3中线性标度产生的刻度值。js情节?
- 如何设置动画以使元素围绕圆圈移动?
- android 关于画笔特效的问题
- 如何使用2个旋转圆圈获得与ICS相同的未定义ProgressBar?