android进度条课设报告,Android开发之进度条ProgressBar的示例代码
說明
ProgressBar一般用于顯示一個過程,例如數(shù)據(jù)加載過程,文件下載進度,音樂播放進度等。
默認形式ProgressBar
默認方式下,ProgressBar顯示為圓形進度,循環(huán)轉(zhuǎn)圈,不顯示具體的進度值,控制其顯隱藏即可,如下
適用于界面加載
//xml中
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
//代碼中控制顯隱藏
mProgressBar = (ProgressBar) findViewById(R.id.progress_bar_main);
mProgressBar.setVisibility(View.VISIBLE);
橫向ProgressBar
橫向帶進度的進度條,通過設(shè)置ProgressBar的Style為style="?android:attr/progressBarStyleHorizontal"
max屬性指定進度條總進度值,progress設(shè)置當前進度值,也可以說是初始進度值
//xml中
android:id="@+id/progress_bar_h"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="85dp"
android:layout_height="10dp"
android:layout_gravity="center"
android:max="100"
android:progress="50"
/>
設(shè)進度條背景
系統(tǒng)自帶的進度條的顏色比較單調(diào),實際開發(fā)中使用較少,可以自定義進度條背景,新建一個progressbar_bg.xml文件
android:drawable="@mipmap/feed_grow_progress_bar">
android:endColor="#fff000"
android:startColor="#fff000" />
gradient可以設(shè)置進度條的漸變色, android:endColor和 android:startColor可以設(shè)置漸變開始和結(jié)束的顏色。定義完成以后,便可以使用
android:id="@+id/progress_bar_healthy"
style="?android:attr/progressBarStyleHorizontal"
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è)置了黃色矩形背景,及黃色進度條
動態(tài)設(shè)置
在音樂進度,網(wǎng)絡(luò)下載時,需動態(tài)加載進度條,默認情況下,設(shè)置進度條,使用setProgress()即可。但有時除了動態(tài)設(shè)置進度,仍需要動態(tài)設(shè)置進度條顏色
private void setElectircProgress(int i, int color) {
ClipDrawable drawable = new ClipDrawable(new ColorDrawable(color), Gravity.LEFT, ClipDrawable.HORIZONTAL);
progressBarElectric.setProgressDrawable(drawable);
progressBarElectric.setProgress(i);
}
音樂播放實例
通過MediaPlayer 播放音樂并獲取進度,設(shè)置進度
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);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
總結(jié)
以上是生活随笔為你收集整理的android进度条课设报告,Android开发之进度条ProgressBar的示例代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 画布旋转,Android
- 下一篇: android 悬浮按钮 魅族,魅族,我