① android中绘制一条圆弧,但是圆弧两头要是一个半圆,请问这怎么做
paint.setStrokeCap(Paint.Cap.ROUND);
② android 怎样让画出的弧形有刻度
public class XChartCalc {
//Position位置
private float posX = 0.0f;
private float posY = 0.0f;
public XChartCalc()
{
}
//依圆心坐标,半径,扇形角度,计算出扇形终射线与圆弧交叉点的xy坐标
public void CalcArcEndPointXY(float cirX, float cirY, float radius, float cirAngle){
//将角度转换为弧度
float arcAngle = (float) (Math.PI * cirAngle / 180.0);
if (cirAngle < 90)
{
posX = cirX + (float)(Math.cos(arcAngle)) * radius;
posY = cirY + (float)(Math.sin(arcAngle)) * radius;
}
else if (cirAngle == 90)
{
posX = cirX;
posY = cirY + radius;
}
else if (cirAngle > 90 && cirAngle < 180)
{
arcAngle = (float) (Math.PI * (180 - cirAngle) / 180.0);
posX = cirX - (float)(Math.cos(arcAngle)) * radius;
posY = cirY + (float)(Math.sin(arcAngle)) * radius;
}
else if (cirAngle == 180)
{
posX = cirX - radius;
posY = cirY;
}
else if (cirAngle > 180 && cirAngle < 270)
{
arcAngle = (float) (Math.PI * (cirAngle - 180) / 180.0);
posX = cirX - (float)(Math.cos(arcAngle)) * radius;
posY = cirY - (float)(Math.sin(arcAngle)) * radius;
}
else if (cirAngle == 270)
{
posX = cirX;
posY = cirY - radius;
}
else
{
arcAngle = (float) (Math.PI * (360 - cirAngle) / 180.0);
posX = cirX + (float)(Math.cos(arcAngle)) * radius;
posY = cirY - (float)(Math.sin(arcAngle)) * radius;
}
}
//////////////
public float getPosX() {
return posX;
}
public float getPosY() {
return posY;
}
③ android怎么设置按钮弧形
设置按钮为弧形的话,你可以使用shape.xml,设置四个角的角度,然后就可以显示弧形,将按钮的背景设置成shape
④ 求教 Android自定义view画圆弧的问题
简单的思路是画两个圈 取出圆环,然后设置背景色 根据实际进度进行渲染
下面的链接是相关的视频教程 希望可以帮到你
http://www.cniao5.com/course/10049
⑤ android canvas怎么画圆弧
12345
要实现这个方法,我们要传5个参数进去。
第一个参数:RectF oval
oval 参数的作用是:定义的圆弧的形状和大小的范围
/**
* 这是一个居中的圆
*/
float x = (getWidth() - getHeight() / 2) / 2;
float y = getHeight() / 4;
RectF oval = new RectF( x, y,
getWidth() - x, getHeight() - y); 1234567812345678
第二个参数:float startAngle
这个参数的作用是设置圆弧是从哪个角度来顺时针绘画的
canvas.drawArc(oval,-90,120,false,mPaint);11
canvas.drawArc(oval,90,110,false,mPaint);11
//设置为-180的时候也是这样
canvas.drawArc(oval,180,140,false,mPaint);1212
//设置为360的时候也是这样
canvas.drawArc(oval,0,140,false,mPaint);1212
第三个参数:float sweepAngle
这个参数的作用是设置圆弧扫过的角度
我们从上面的代码就可以知道其中的作用了
第四个参数:boolean useCenter
这个参数的作用是设置我们的圆弧在绘画的时候,是否经过圆形
值得注意的是,这个参数在我们的 mPaint.setStyle(Paint.Style.STROKE); 设置为描边属性的时候,是看不出效果的。
/**
*这里我是偷懒了,建议不要在onDraw()方法里初始化对象
*/
Paint p = new Paint();//这个是画矩形的画笔,方便大家理解这个圆弧
p.setStyle(Paint.Style.STROKE);
p.setColor(Color.RED);
mPaint.setAntiAlias(true);//取消锯齿
mPaint.setStyle(Paint.Style.FILL);//设置画圆弧的画笔的属性为描边(空心),个人喜欢叫它描边,叫空心有点会引起歧义
mPaint.setStrokeWidth(mCircleWidth);
mPaint.setColor(Color.CYAN);
/**
* 这是一个居中的圆
*/
float x = (getWidth() - getHeight() / 2) / 2;
float y = getHeight() / 4;
RectF oval = new RectF( x, y,
getWidth() - x, getHeight() - y);
canvas.drawArc(oval,360,140,false,mPaint);//画圆弧,这个时候,绘制没有经过圆心
canvas.drawRect(oval, p);//画矩形2223
//当我们设置为true的时候,绘制的时候就经过圆心了
canvas.drawArc(oval,360,140,true,mPaint);1212
第五个参数:Paint paint
这个参数的作用是设置我们的画笔对象的属性
mPaint.setAntiAlias(true);//取消锯齿
mPaint.setStyle(Paint.Style.FILL);//设置画圆弧的画笔的属性为描边(空心),个人喜欢叫它描边,叫空心有点会引起歧义
mPaint.setStrokeWidth(mCircleWidth);
mPaint.setColor(Color.CYAN);12341234
这里还是要强调一下,当 p.setStyle(Paint.Style.STROKE)的时候,我们的第四个参数boolean useCenter,是看不到效果的。
下面是代码全文
public class CustomProgress extends View{
private Paint mPaint;
/**
* 圆的宽度
*/
private int mCircleWidth = 3;
public CustomProgress(Context context) {
this(context, null);
}
public CustomProgress(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public CustomProgress(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mPaint = new Paint();
}
@Override
protected void onDraw(Canvas canvas) {
mPaint.setAntiAlias(true);//取消锯齿
mPaint.setStyle(Paint.Style.FILL);
mPaint.setStrokeWidth(mCircleWidth);
mPaint.setColor(Color.CYAN);
/**
* 这是一个居中的圆
*/
float x = (getWidth() - getHeight() / 2) / 2;
float y = getHeight() / 4;
RectF oval = new RectF( x, y,
getWidth() - x, getHeight() - y);
canvas.drawArc(oval,360,140,true,mPaint);
}
⑥ android如何在布局中吧.9画成圆弧装
ndroid画布(Canvas)之--- 圆环,利用Path切除一个扇形,形成一段圆弧效果 [问题...然后再在剩余的画布上画圆形,那么自然截取的图为我上图中想要达到的...
⑦ 请问android里面如何实现弧形的gallery
我也在找,找了一个,不过在实现上有问题。大体思路应该是通过改变camera在Z轴上的大小来实现缩放效果,进而实现弧形gallery。参考方法:http://blog.csdn.net/w237or45/article/details/7409807
⑧ android用点画圆弧
aint.setStrokeCap(Paint.Cap.ROUND);
⑨ android 怎么画一个圆弧的正方形
先来介绍一下画几何图形要用到的,画布(Canvas)、画笔(Paint)。 1. 画一个圆使用的是drawCircle:canvas.drawCircle(cx, cy, radius, paint);x、y代表坐标、radius是半径、paint是画笔,就是画图的颜色; 2. 在画图的时候还要有注意,你所画的矩。可以看看安卓巴士的教程:http://www.apkbus.com/thread-465690-1-1.html
⑩ Android 圆弧选色选大小的控件如何实现
写这样一个demo 太费时了, 单纯这样的界面实现不难,简单来说 背景可以用图片代替,颜色按钮用CheckBox 可以定制圆形的,github有这样的库