導航:首頁 > 操作系統 > android圓形漸變進度條

android圓形漸變進度條

發布時間:2023-10-28 06:20:14

android自定義環形進度條怎麼自由控制進度條的消失與隱藏

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bluetoothmeter);
mhandler = new Handler();

//通過mSearcheHandler更新UI
mSearchHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==0){
//改變環形進度條的進度
mCircleProcessBar.setProgress(mcnt);
mcnt+=1;
if(MCNT_MAX<=mcnt){
mCircleProcessBar.setVisibility(View.GONE);
}
}
}
};
mBlueService = BluetoothLeService.getInstance();
initView();
initEvent();
}

private void initEvent()
{
mImgBtnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//搜索
mbtnSearch.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// Prepare list view and initiate scanning
if (m_devicelistadapter != null) {
m_devicelistadapter.clear();
m_devicelistadapter.notifyDataSetChanged();

}
startScan();

//設置圓環進度條的出現時間(秒)
new TimerDelay(mSearchHandler).setDelayTime(CIRCLE_APPARE_TIME,mCircleProcessBar);
mcnt=1;
}
});
}

⑵ android 進度條樣式 怎麼改

Android系統提供了兩大類進度條樣式,長形進度條(progressBarStyleHorizontal) 和圓形進度條(progressBarStyleLarge)。

android 進度條樣式更改:

進度條用處很多,比如,應用程序裝載資源和網路連接時,可以提示用戶稍等,這一類進度條只是代表應用程序中某一部分的執行情況,而整個應用程序執行情況呢,則可以通過應用程序標題欄來顯示一個進度條,這就需要先對窗口的顯示風格進行設置"requestWindowFeature(Window.FEATURE_PROGRESS)"。

⑶ android顏色漸變如何實現從四周往中心漸變 或者從中心往四周漸變 都行,不是 從左往右

android 顏色漸變是指通知xml或者java代碼,設置相關參數,是界面的某個指定的視圖顯示成從開始位置的顏色,逐漸過度到結尾位置的顏色的技術。

android顏色漸變的分類有:

LinearGradient線性漸變

RadialGradient鏡像漸變

SweepGradient角度漸變


一、LinearGradient線性漸變
顧名思義,是只顏色在一個直線方向上逐漸改變。

文件代碼:

<?xmlversion="1.0"encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<gradient
android:endColor="#0000FF"
android:startColor="#FF0000"
android:type="linear"/>

</shape>

效果:

⑷ Android繪圖之RadialGradient 放射漸變(11)

LinearGradient 和 SweepGradient,這次講解RadialGradient;
RadialGradient被稱為放射漸變,就是從中心向外圓形漸變。
兩個構造函數,第一個構造函數可以實現兩種顏色的漸變,第二個構造函數可以實現多個顏色的漸變。

參數說明:
centerX ,centerY:shader的中心坐標,開始漸變的坐標。
radius:漸變的半徑,
centerColor,edgeColor:中心點漸變顏色,邊界的漸變顏色,
colors:漸變顏色數組,
stoops:漸變位置數組,類似掃描漸變的positions數組,取值[0,1],中心點為0,半徑到達位置為1.0f,
tileMode:shader未覆蓋以外的填充模式。

構造函數:
RadialGradient(float centerX, float centerY, float radius, @ColorInt int centerColor, @ColorInt int edgeColor, @NonNull TileMode tileMode);

提供中心坐標,半徑,顏色值,TileMode

Stops數組取值為[0-1],一般為從小到大,表示每個位置對應的顏色值,如果stops不為null,colors必須和stops一一對應,否則可能導致崩潰,如果stops為null,各顏色從中心到邊界線性漸變。

stops數組為null,四種顏色線性漸變:

stops數組不為null:

如果數組多餘顏色個數:

大致做個小例子,如果需要線上使用需要考慮很多問題,類似ondraw最好不要聲明對象等:

替換為多顏色 private int[] colors = {Color.YELLOW, Color.RED, Color.BLUE, Color.GREEN};

android繪圖之Paint(1)
android繪圖之Canvas基礎(2)
Android繪圖之Path(3)
Android繪圖之drawText繪制文本相關(4)
Android繪圖之Canvas概念理解(5)
Android繪圖之Canvas變換(6)
Android繪圖之Canvas狀態保存和恢復(7)
Android繪圖之PathEffect (8)
Android繪圖之LinearGradient線性漸變(9)
Android繪圖之SweepGradient(10)
Android繪圖之RadialGradient 放射漸變(11)
Android繪制之BitmapShader(12)
Android繪圖之ComposeShader,PorterDuff.mode及Xfermode(13)
Android繪圖之drawText,getTextBounds,measureText,FontMetrics,基線(14)
Android繪圖之貝塞爾曲線簡介(15)
Android繪圖之PathMeasure(16)
Android 動態修改漸變 GradientDrawable

⑸ Android 圓形進度條-跟360進度類似-時鍾刻度

話不多說 先上圖

實現原理:

1、先畫出中心進度問題

2、圓形進度灰色背景、圓形進度值帶光暈

3、時鍾刻度

github: https://github.com/hyyz3293/circlegearview.git

⑹ 求教 android半圓弧形的進度條問題

package com.example.comt;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.RectF;
import android.graphics.Shader;
import android.util.AttributeSet;
import android.view.View;

public class CircleView extends View {

Paint paint,textpaint;
RectF area;
int value = 100;
LinearGradient shader;

public CircleView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
// TODO Auto-generated constructor stub
}

public CircleView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
// TODO Auto-generated constructor stub
}

public CircleView(Context context) {
super(context);
init();
// TODO Auto-generated constructor stub
}

public void setProgress(int value){
this.value = value;
invalidate();
}

public void init() {
paint = new Paint();
paint.setStrokeWidth(50f);
paint.setColor(Color.WHITE);
paint.setStyle(Style.STROKE);
paint.setAntiAlias(true);
textpaint = new Paint();
textpaint.setTextSize(50f);
textpaint.setColor(Color.WHITE);
area = new RectF(100, 100, 500, 500);

shader =new LinearGradient(0, 0, 400, 0, new int[] {
Color.BLUE, Color.WHITE}, null,
Shader.TileMode.CLAMP);
paint.setShader(shader);

}

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
canvas.drawColor(Color.GRAY);
canvas.drawArc(area, 120, 360*value/100 , false, paint);
canvas.drawText(value+"%", 270, 290, textpaint);
}

}

看下是不是你想要的,調用setprogress()既可調節圓環

⑺ android 怎麼自定義繪制如下圖中這種進度條

下面是安卓學習手冊中實現各種進度條的截圖:

要想看各種進度條的實現代碼和文檔,直接去360手機助手中下載安卓學習手冊,例子文檔隨便看。

1、說明

在某些操作的進度中的可視指示器,為用戶呈現操作的進度,還它有一個次要的進度條,用來顯示中間進度,如在流媒體播放的緩沖區的進度。一個進度條也可不確定其進度。在不確定模式下,進度條顯示循環動畫。這種模式常用於應用程序使用任務的長度是未知的。

2、XML重要屬性

android:progressBarStyle:默認進度條樣式

android:progressBarStyleHorizontal:水平樣式

3 重要方法

getMax():返回這個進度條的范圍的上限

getProgress():返回進度

getSecondaryProgress():返回次要進度

incrementProgressBy(int diff):指定增加的進度

isIndeterminate():指示進度條是否在不確定模式下

setIndeterminate(boolean indeterminate):設置不確定模式下

setVisibility(int v):設置該進度條是否可視

4 重要事件

onSizeChanged(int w, int h, int oldw, int oldh):當進度值改變時引發此事件

5進度條的樣式

Widget.ProgressBar.Horizontal長形進度

Androidxml 布局:

<ProgressBar

android:id="@+id/progress_bar"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

style="@android:style/Widget.ProgressBar.Horizontal "

/>

源碼

private ProgressBar mProgress;

private int mProgressStatus=0;

private Handler mHandler=newHandler();

@Override

protected void onCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mProgress=(ProgressBar)findViewById(R.id.progress_bar);

new Thread(new Runnable(){

@Override

public void run(){

while(mProgressStatus<100){

mProgressStatus=doWork();

mHandler.post(new Runnable(){

@Override

public void run(){

mProgress.setProgress(mProgressStatus);

}

});

}

}

}).start();

}

效果圖:

帶第二進度的進度條

xml配置如下:

<ProgressBar

android:id="@+id/progress_bar_with_second"

style="@android:style/Widget.ProgressBar.Horizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:progress="40"

android:secondaryProgress="70"

android:paddingTop="20dp"

android:paddingBottom="20dp"/>

這里我們設置了初始的進度為40,android:progress的值在mini和max之間即mini<=progressvalue<=max

設置了第二進度條的進度值為70,該值也在mini和max之間。

效果如下:

不確定模式進度條

xml配置文件:

<ProgressBar

android:id="@+id/progress_bar_indeterminate"

style="@android:style/Widget.ProgressBar.Horizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:indeterminate="true"

android:indeterminateBehavior="cycle"

android:paddingBottom="20dp"

android:paddingTop="20dp"

android:progress="40" />

這里通過android:indeterminate="true"設置了當前為無模式進度條

效果如圖:

普通圓形進度:Widget.ProgressBar.Inverse

<ProgressBar

android:id="@+id/progress_bar1"

style="@android:style/Widget.ProgressBar.Inverse"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:progress="50"

android:background="#ff00ff"

android:paddingTop="4dp" />

通過android:backgroup設置了背景色

閱讀全文

與android圓形漸變進度條相關的資料

熱點內容
java常見模式 瀏覽:500
典欣空調壓縮機 瀏覽:421
app如何認定許可權 瀏覽:849
兩個復數相除的角度計演算法則 瀏覽:584
電商類app開發怎麼收費 瀏覽:300
打造電子書反編譯工具 瀏覽:74
壓縮比115 瀏覽:558
pdf怎麼摳圖 瀏覽:864
霍妮pdf 瀏覽:808
反編譯VMP 瀏覽:46
hello編譯器 瀏覽:771
apk程序加密 瀏覽:595
如何給app重命名 瀏覽:603
怎麼幽默調侃程序員 瀏覽:285
忘記密碼解壓視頻 瀏覽:911
運城機場春運加密 瀏覽:287
安卓手機如何關閉app後台 瀏覽:154
安卓數字密碼忘記怎麼破解 瀏覽:252
pythonzmq模式 瀏覽:182
linux運行php網站 瀏覽:867