說(shuō)明
在范縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站建設(shè),范縣網(wǎng)站建設(shè)費(fèi)用合理。
ProgressBar一般用于顯示一個(gè)過(guò)程,例如數(shù)據(jù)加載過(guò)程,文件下載進(jìn)度,音樂播放進(jìn)度等。
默認(rèn)形式ProgressBar
默認(rèn)方式下,ProgressBar顯示為圓形進(jìn)度,循環(huán)轉(zhuǎn)圈,不顯示具體的進(jìn)度值,控制其顯隱藏即可,如下
適用于界面加載
//xml中 <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" /> //代碼中控制顯隱藏 mProgressBar = (ProgressBar) findViewById(R.id.progress_bar_main); mProgressBar.setVisibility(View.VISIBLE);
橫向ProgressBar
橫向帶進(jìn)度的進(jìn)度條,通過(guò)設(shè)置ProgressBar的Style為
max屬性指定進(jìn)度條總進(jìn)度值,progress設(shè)置當(dāng)前進(jìn)度值,也可以說(shuō)是初始進(jìn)度值
//xml中 <ProgressBar android:id="@+id/progress_bar_h" android:layout_width="85dp" android:layout_height="10dp" android:layout_gravity="center" android:max="100" android:progress="50" />
設(shè)進(jìn)度條背景
系統(tǒng)自帶的進(jìn)度條的顏色比較單調(diào),實(shí)際開發(fā)中使用較少,可以自定義進(jìn)度條背景,新建一個(gè)progressbar_bg.xml文件
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 設(shè)置背景色 --> <item android:id="@android:id/background" android:drawable="@mipmap/feed_grow_progress_bar"> </item> <!-- 設(shè)置進(jìn)度條顏色 --> <item android:id="@android:id/progress"> <clip> <shape> <gradient android:endColor="#fff000" android:startColor="#fff000" /> </shape> </clip> </item> </layer-list>
gradient可以設(shè)置進(jìn)度條的漸變色, android:endColor和 android:startColor可以設(shè)置漸變開始和結(jié)束的顏色。定義完成以后,便可以使用
<ProgressBar android:id="@+id/progress_bar_healthy" android:layout_width="85dp" android:layout_height="10dp" android:layout_marginTop="20dp" android:layout_gravity="center" android:max="100" android:progress="50" android:progressDrawable="@drawable/progressbar_bg" />
效果圖,這里設(shè)置了黃色矩形背景,及黃色進(jìn)度條
動(dòng)態(tài)設(shè)置
在音樂進(jìn)度,網(wǎng)絡(luò)下載時(shí),需動(dòng)態(tài)加載進(jìn)度條,默認(rèn)情況下,設(shè)置進(jìn)度條,使用setProgress()即可。但有時(shí)除了動(dòng)態(tài)設(shè)置進(jìn)度,仍需要?jiǎng)討B(tài)設(shè)置進(jìn)度條顏色
private void setElectircProgress(int i, int color) { ClipDrawable drawable = new ClipDrawable(new ColorDrawable(color), Gravity.LEFT, ClipDrawable.HORIZONTAL); progressBarElectric.setProgressDrawable(drawable); progressBarElectric.setProgress(i); }
音樂播放實(shí)例
通過(guò)MediaPlayer 播放音樂并獲取進(jìn)度,設(shè)置進(jìn)度
musicProgressBar = (ProgressBar) findViewById(R.id.progress_bar_music); if (mPlayer != null) { mPlayer.release(); mPlayer = null; } mPlayer = MediaPlayer.create(this, R.raw.summer); mPlayer.start(); musicProgressBar.setMax(mPlayer.getDuration()); if (timer != null) { timer = null; timerTask = null; } timer = new Timer(); timerTask = new TimerTask() { @Override public void run() { if (mPlayer != null) { if (mPlayer.isPlaying()) { runOnUiThread(new Runnable() { @Override public void run() { musicProgressBar.setProgress(mPlayer.getCurrentPosition()); } }); } } } }; timer.schedule(timerTask, 0, 1000);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當(dāng)前題目:Android開發(fā)之進(jìn)度條ProgressBar的示例代碼
轉(zhuǎn)載源于:http://muchs.cn/article38/jcjcpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、電子商務(wù)、靜態(tài)網(wǎng)站、小程序開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)