使用ProgressBar實現(xiàn)加載進(jìn)度條

1,ProgressBar是進(jìn)度條組件稳衬,通常用于向用戶展示某個耗時操作完成的進(jìn)度初橘。

2薪铜,ProgressBar的關(guān)鍵屬性:

*android:max="100"——最大顯示進(jìn)度
*android:progress="50"——第一顯示進(jìn)度
*android:secondaryProgress="80"——第二顯示進(jìn)度
*android:indeterminate="true" ——設(shè)置是否不精確顯示進(jìn)度吼渡。true表示不精確顯示進(jìn)度容为,false表示精確顯示進(jìn)度

3乓序,ProgressBar的關(guān)鍵方法:

*setProgress(int)設(shè)置第一進(jìn)度
*setSecondaryProgress(int)設(shè)置第二進(jìn)度
*getProgress()獲取第一進(jìn)度
*getSecondaryProgress() 獲取第二進(jìn)度
*incrementProgressBy(int) 增加或減少第一進(jìn)度
*incrementSecondaryProgressBy(int)增加或減少第二進(jìn)度
*getMax() 獲取最大進(jìn)度

4寺酪,XML重要屬性:

*android:progressBarStyle:默認(rèn)進(jìn)度條樣式
*android:progressBarStyleHorizontal:水平樣式

5,layout布局中的代碼:

<span style="font-size:18px;"><ProgressBar //不精確顯示進(jìn)度的進(jìn)度條(轉(zhuǎn)啊轉(zhuǎn))
        android:id="@+id/progress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
 
    <ProgressBar //精確顯示進(jìn)度的進(jìn)度條
        android:id="@+id/horizon"
        android:max="100"
        android:progress="50"
        android:secondaryProgress="80"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
 
    <Button
        android:id="@+id/add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add" />
 
    <Button
        android:id="@+id/reduce"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/ruduse" />
 
    <Button
        android:id="@+id/reset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/reset" />
 
    <TextView //用來顯示進(jìn)度比例
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        
    </TextView></span><span style="font-size: 14px;">
</span>

6替劈,java類中的代碼:

<span style="font-size:18px;">public  class  MainActivity  extends  Activity  implements  OnClickListener {
private  ProgressBar  progressBar;
private  TextView  text;
private  Button  add,reduce,reset;
 
    @Override
    protected  void  onCreate(Bundle  savedInstanceState) {
        super.onCreate(savedInstanceState);
        //啟用窗口特征寄雀,啟用帶進(jìn)度和不帶進(jìn)度的進(jìn)度條
        requestWindowFeature(Window.FEATURE_PROGRESS);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);      
        setContentView(R.layout.main);
        //顯示兩種進(jìn)度條
        setProgressBarVisibility(true);
        setProgressBarIndeterminateVisibility(true);
        //標(biāo)題進(jìn)度條的最大值max=10000
        setProgress(600);
 
        //初始化控件
        init();
    }
private void init() {
 
progressBar=(ProgressBar) findViewById(R.id.horizon);
add=(Button) findViewById(R.id.add);
reduce=(Button) findViewById(R.id.reduce);
reset=(Button) findViewById(R.id.reset);
text=(TextView) findViewById(R.id.text);
 
//1,獲取進(jìn)度條的第一進(jìn)度
int first=progressBar.getProgress();
//2陨献,獲取進(jìn)度條的第二進(jìn)度
int second=progressBar.getSecondaryProgress();
//3盒犹,獲取進(jìn)度條的最大值
int max=progressBar.getMax();
//4,設(shè)置文本框中的進(jìn)度百分比
text.setText("第一進(jìn)度百分比:"+(int)(first/(float)max*100)+"%"+
"  第二進(jìn)度百分比:"+(int)(second/(float)max*100)+"%");
 
//5,對三個按鈕控件設(shè)置監(jiān)聽事件
add.setOnClickListener(this);
reduce.setOnClickListener(this);
reset.setOnClickListener(this);
 
}
//通過實現(xiàn)接口的方式來實現(xiàn)對控件的監(jiān)聽
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.add:
{
//增加第一進(jìn)度和第二進(jìn)度10個刻度
progressBar.incrementProgressBy(10);
progressBar.incrementSecondaryProgressBy(10);
break;
}
case R.id.reduce:
{
//減少第一進(jìn)度和第二進(jìn)度10個刻度
progressBar.incrementProgressBy(-10);
progressBar.incrementSecondaryProgressBy(-10);
break;
}
case R.id.reset:
{
//把第一進(jìn)度和第二進(jìn)度設(shè)置為原來的比例
progressBar.setProgress(50);
progressBar.setSecondaryProgress(80);
break;
}
default:
break;
} 
}
//每次點擊按鈕急膀,都會觸發(fā)onClick事件沮协,這樣每次都可以對text進(jìn)行更新處理
text.setText("第一進(jìn)度百分比:"+(int)(proressBar.getProgress()/(float)proressBar.getMax()*100)+"%  "+
  "第二進(jìn)度百分比:"+(int)(proressBar.getSecondaryProgress()/(float)proressBar.getMax()*100)+"%");
}</span>

實現(xiàn)效果

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卓嫂,隨后出現(xiàn)的幾起案子慷暂,更是在濱河造成了極大的恐慌,老刑警劉巖晨雳,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件行瑞,死亡現(xiàn)場離奇詭異,居然都是意外死亡餐禁,警方通過查閱死者的電腦和手機(jī)血久,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帮非,“玉大人氧吐,你說我怎么就攤上這事∧┛” “怎么了副砍?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長庄岖。 經(jīng)常有香客問我豁翎,道長,這世上最難降的妖魔是什么隅忿? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任心剥,我火速辦了婚禮,結(jié)果婚禮上背桐,老公的妹妹穿的比我還像新娘优烧。我一直安慰自己,他們只是感情好链峭,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布畦娄。 她就那樣靜靜地躺著,像睡著了一般弊仪。 火紅的嫁衣襯著肌膚如雪熙卡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天励饵,我揣著相機(jī)與錄音驳癌,去河邊找鬼。 笑死役听,一個胖子當(dāng)著我的面吹牛颓鲜,可吹牛的內(nèi)容都是我干的表窘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼甜滨,長吁一口氣:“原來是場噩夢啊……” “哼乐严!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起衣摩,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤麦备,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后昭娩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凛篙,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年栏渺,在試婚紗的時候發(fā)現(xiàn)自己被綠了呛梆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡磕诊,死狀恐怖填物,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情霎终,我是刑警寧澤滞磺,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站莱褒,受9級特大地震影響击困,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜广凸,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一阅茶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谅海,春花似錦脸哀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至侥袜,卻和暖如春蝌诡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背系馆。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工送漠, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人由蘑。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓闽寡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尼酿。 傳聞我的和親對象是個殘疾皇子爷狈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,426評論 0 17
  • 1.下列哪些語句關(guān)于內(nèi)存回收的說明是正確的? (b )A裳擎、 程序員必須創(chuàng)建一個線程來釋放內(nèi)存B涎永、內(nèi)存回收程序負(fù)責(zé)釋...
    悠悠我心_4a00閱讀 555評論 0 2
  • 1、窗體 1鹿响、常用屬性 (1)Name屬性:用來獲取或設(shè)置窗體的名稱羡微,在應(yīng)用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調(diào)閱讀 4,549評論 0 11
  • 其一 也自清柔也自狂惶我,天高海闊任飛揚妈倔。行蹤欲覓無從問,且看山河綠復(fù)黃绸贡。 其二 云煙起處看尋常盯蝴,冷熱人間放眼量。一日...
    君懷璧閱讀 1,578評論 52 55
  • 面容依舊 人已新 他人喜宴重逢 晨光中的約定听怕,記否 樓下?lián)u曳的光 少年臉上的絨毛 白衣蹁躚 烏云墮 林間驚鴻相識 ...
    劃水的咸魚閱讀 322評論 0 0