Android UI控件之ProgressBar進(jìn)度條
我們知道在所有的界面UI中進(jìn)度條無(wú)疑是非常重要的一個(gè),因?yàn)樗梢越o用戶一個(gè)較為清晰的視覺(jué)效果:就是用戶的操作的完成情況.這不是簡(jiǎn)單的完成與未完成,而是以一個(gè)進(jìn)度的方式展示給用戶的交互性更強(qiáng)了。
對(duì)于Android系統(tǒng)中的進(jìn)度條如何使用呢?下一是簡(jiǎn)單的實(shí)現(xiàn),并未做相關(guān)的美化處理。
依照慣例,先上效果圖:
第一張:

第二張:

其中兩個(gè)原型的進(jìn)度條并未做任何的處理,水平進(jìn)度條利用線程使之不停地增加減少。
具體實(shí)現(xiàn)首先看布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="簡(jiǎn)單進(jìn)度條的展示"
android:layout_gravity="center_horizontal"/>
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
/>
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>
<ProgressBar
android:id="@+id/progressBar3"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:max="100"
android:minWidth="180dip"
android:minHeight="40dip"
/>
</LinearLayout>
之后是MainActivity
package com.kiritor.ui_progressbar;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ProgressBar;
public class MainActivity extends Activity implements Runnable {
private ProgressBar bar = null;
private Thread thread = null;// 聲明一個(gè)線程
private boolean stateChange;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bar = (ProgressBar) findViewById(R.id.progressBar3);
thread = new Thread(this);
thread.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void run() {
while (true) {
int current = bar.getProgress();// 得到當(dāng)前進(jìn)度值
int currentMax = bar.getMax();// 得到進(jìn)度條的最大進(jìn)度值
//int secCurrent = bar.getSecondaryProgress();// 得到底層當(dāng)前進(jìn)度值
// 以下代碼實(shí)現(xiàn)進(jìn)度值越來(lái)越大,越來(lái)越小的一個(gè)動(dòng)態(tài)效果
if (stateChange == false) {
if (current >= currentMax) {
stateChange = true;
} else {
// 設(shè)置進(jìn)度值
bar.setProgress(current + 1);
// 設(shè)置底層進(jìn)度值
bar.setSecondaryProgress(current + 1);
}
} else {
if (current <= 0) {
stateChange = false;
} else {
bar.setProgress(current - 1);
bar.setSecondaryProgress(current - 1);
}
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
以上就是進(jìn)度條的簡(jiǎn)單的用法,之后筆者會(huì)實(shí)現(xiàn)一些“特別”進(jìn)度條,漂亮的,另類的!代碼較為簡(jiǎn)單就不給源碼了Over!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 重寫(xiě)ViewGroup 分析onMeasure()和onLayout()方法
這篇文章主要介紹了Android 重寫(xiě)ViewGroup 分析onMeasure()和onLayout()方法的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android編程之ListView和EditText發(fā)布帖子隱藏軟鍵盤(pán)功能詳解
這篇文章主要介紹了Android編程之ListView和EditText發(fā)布帖子隱藏軟鍵盤(pán)功能,結(jié)合實(shí)例形式分析了Android控件調(diào)用、隱藏軟鍵盤(pán)的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08
Android 高德地圖之poi搜索功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了android 高德地圖之poi搜索功能的實(shí)現(xiàn)代碼,在實(shí)現(xiàn)此功能時(shí)遇到很多問(wèn)題,在文章都給大家提到,需要的朋友可以參考下2017-08-08
android開(kāi)發(fā)教程之清除android數(shù)據(jù)緩存示例(清除本地?cái)?shù)據(jù)緩存)
android清除本地?cái)?shù)據(jù)緩存示例,主要功能清除內(nèi)/外緩存,清除數(shù)據(jù)庫(kù),清除sharedPreference,清除files和清除自定義目錄,需要的朋友可以參考下2014-02-02
android實(shí)現(xiàn)短按電源鍵關(guān)機(jī)的實(shí)現(xiàn)代碼
這篇文章主要介紹了android實(shí)現(xiàn)短按電源鍵關(guān)機(jī)的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
View事件分發(fā)原理和ViewPager+ListView嵌套滑動(dòng)沖突
這篇文章主要介紹了View事件分發(fā)原理和ViewPager+ListView嵌套滑動(dòng)沖突,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià),需要的小伙伴可以參考一下2022-05-05
android實(shí)現(xiàn)長(zhǎng)圖加載效果
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)長(zhǎng)圖加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Android View移動(dòng)的六種方法小結(jié)
在android開(kāi)發(fā)中,經(jīng)常會(huì)遇到一個(gè)view需要它能夠支持滑動(dòng)的需求。下面通過(guò)本篇文章給大家介紹android view移動(dòng)的六種方法,對(duì)android view移動(dòng)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12

