導航:首頁 > 操作系統 > android圓弧

android圓弧

發布時間:2022-02-06 09:15:51

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有這樣的庫

閱讀全文

與android圓弧相關的資料

熱點內容
雲看地是什麼APP 瀏覽:883
數學指南pdf 瀏覽:856
phpcurldll64位 瀏覽:976
程序員脫產一年半 瀏覽:849
hr招程序員有什麼條件 瀏覽:587
android開源集合 瀏覽:867
華為雲伺服器登錄密碼和賬號 瀏覽:154
中世紀java程序員 瀏覽:786
什麼開發引擎使用python 瀏覽:176
sh腳本運行命令 瀏覽:316
廣聯達加密鎖怎麼看到期 瀏覽:172
cad軌跡命令 瀏覽:979
同事刷到女程序員自媒體視頻 瀏覽:571
校驗演算法的缺點是什麼 瀏覽:717
PHP商品分類功能實現 瀏覽:330
php取字元串中間 瀏覽:432
程序員經常用工具 瀏覽:837
降服主力指標源碼主圖 瀏覽:502
python實用庫 瀏覽:694
電腦默認7個文件夾 瀏覽:13