日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 基础教程之-------Android ProgressBar的使用!

發布時間:2025/3/19 Android 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 基础教程之-------Android ProgressBar的使用! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,今天給大家講一下Android中ProgressBar的使用,這個控件在開發中還是經常用到的,比如用戶瀏覽網頁的時候,中間肯定有個 傳輸過程,所以用進度條讓用戶耐心等待。再比如我在Android Market下載應用,它也會有進度條顯示下載進度。我為什么要舉這兩個例子呢,是因為它們分別是圓形進度條和長形進度條的代表。如下面兩張圖:

圖1.UC瀏覽網頁圓形進度條效果。

圖2.Google Market應用下載長形進度條效果.

?

下面我們看一下兩都皆有之的Android自帶的瀏覽器的效果圖如下:

?

為了讓大家更容易理解我將簡單寫一個Demo,大家可以按照我的步驟一步一步來。

第一步:新建一個Android工程命名為ProgressBarDemo.

?

第二步:修改main.xml代碼如下(圓形進度條和長形進度條這里樣式不同用系統自帶的):

?

[c-sharp]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>????
  • ?<LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"????
  • ?????android:orientation="vertical"???
  • ?????android:layout_width="fill_parent"????
  • ?????android:layout_height="fill_parent">????
  • ???????
  • ?????<TextView???
  • ?????????android:layout_width="fill_parent"????
  • ?????????android:layout_height="wrap_content"???
  • ?????????android:text="Welcome?to?Mr?Wei's?blog"?/>????
  • ?????<ProgressBar???
  • ?????????android:id="@+id/rectangleProgressBar"????
  • ?????????style="?android:attr/progressBarStyleHorizontal"?mce_style="?android:attr/progressBarStyleHorizontal"?????
  • ?????????android:layout_width="fill_parent"???
  • ?????????android:layout_height="wrap_content"??
  • ?????????android:visibility="gone"??
  • ?????????/>??
  • ?????<ProgressBar???
  • ?????????android:id="@+id/circleProgressBar"????
  • ?????????style="?android:attr/progressBarStyleLarge"?mce_style="?android:attr/progressBarStyleLarge"??
  • ?????????android:layout_width="wrap_content"???
  • ?????????android:layout_height="wrap_content"??
  • ?????????android:visibility="gone"???
  • ?????????/>??
  • ????????
  • ?????<Button?android:id="@+id/button"???
  • ?????????????android:text="Show?ProgressBar"????
  • ?????????????android:layout_width="wrap_content"???
  • ?????????????android:layout_height="wrap_content"??
  • ?????????????/>??
  • ?</LinearLayout>???
  • ?

    第三步:修改ProgressBarDemo.java代碼如下(如果這里有對Handler和Message不明白的地方可以去Android高 手進階教程(九)?看下這個教程):

    ?

    [c-sharp]?view plaincopy
  • package?com.tutor.progress;??
  • import?android.app.Activity;??
  • import?android.os.Bundle;??
  • import?android.os.Handler;??
  • import?android.os.Message;??
  • import?android.view.View;??
  • import?android.widget.Button;??
  • import?android.widget.ProgressBar;??
  • public?class?ProgressBarDemo?extends?Activity?{??
  • ??????
  • ????private?ProgressBar?rectangleProgressBar,circleProgressBar;??
  • ????private?Button?mButton;??
  • ??????
  • ????protected?static?final?int?STOP?=?0x10000;??
  • ????protected?static?final?int?NEXT?=?0x10001;??
  • ????private?int?iCount?=?0;??
  • ??????
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.main);??
  • ????????//findView?By?id??
  • ????????rectangleProgressBar?=?(ProgressBar)findViewById(R.id.rectangleProgressBar);??
  • ????????circleProgressBar?=?(ProgressBar)findViewById(R.id.circleProgressBar);??
  • ????????mButton?=?(Button)findViewById(R.id.button);??
  • ??????????
  • ????????rectangleProgressBar.setIndeterminate(false);??
  • ????????circleProgressBar.setIndeterminate(false);??
  • ??????????
  • ????????mButton.setOnClickListener(new?Button.OnClickListener()?{??
  • ??????????????
  • ????????????public?void?onClick(View?v)?{??
  • ??????????????????
  • ????????????????rectangleProgressBar.setVisibility(View.VISIBLE);??
  • ????????????????circleProgressBar.setVisibility(View.VISIBLE);??
  • ??????????????????
  • ????????????????rectangleProgressBar.setMax(100);??
  • ????????????????rectangleProgressBar.setProgress(0);??
  • ????????????????circleProgressBar.setProgress(0);??
  • ??????????????????
  • ????????????????//創建一個線程,每秒步長為5增加,到100%時停止??
  • ????????????????Thread?mThread?=?new?Thread(new?Runnable()?{??
  • ??????????????????????
  • ????????????????????public?void?run()?{??
  • ??????????????????????????
  • ????????????????????????for(int?i=0?;?i?<?20;?i++){??
  • ????????????????????????????try{??
  • ????????????????????????????????iCount?=?(i?+?1)?*?5;??
  • ????????????????????????????????Thread.sleep(1000);??
  • ????????????????????????????????if(i?==?19){??
  • ????????????????????????????????????Message?msg?=?new?Message();??
  • ????????????????????????????????????msg.what?=?STOP;??
  • ????????????????????????????????????mHandler.sendMessage(msg);??
  • ????????????????????????????????????break;??
  • ????????????????????????????????}else{??
  • ????????????????????????????????????Message?msg?=?new?Message();??
  • ????????????????????????????????????msg.what?=?NEXT;??
  • ????????????????????????????????????mHandler.sendMessage(msg);??
  • ????????????????????????????????}??
  • ????????????????????????????}catch?(Exception?e)?{??
  • ????????????????????????????????e.printStackTrace();??
  • ????????????????????????????}??
  • ????????????????????????}??
  • ??????????????????????????
  • ????????????????????}??
  • ????????????????});??
  • ????????????????mThread.start();??
  • ????????????}??
  • ????????});??
  • ????}??
  • ??????
  • ????//定義一個Handler??
  • ????private?Handler?mHandler?=?new?Handler(){??
  • ????????public?void?handleMessage(Message?msg){??
  • ????????????switch?(msg.what)?{??
  • ????????????case?STOP:??
  • ????????????????rectangleProgressBar.setVisibility(View.GONE);??
  • ????????????????circleProgressBar.setVisibility(View.GONE);??
  • ????????????????Thread.currentThread().interrupt();??
  • ????????????????break;??
  • ????????????case?NEXT:??
  • ????????????????if(!Thread.currentThread().isInterrupted()){??
  • ????????????????????rectangleProgressBar.setProgress(iCount);??
  • ????????????????????circleProgressBar.setProgress(iCount);??
  • ????????????????}??
  • ????????????????break;??
  • ????????????}??
  • ????????}??
  • ????};??
  • }??
  • ?

    ?

    第四步:運行上述工程,效果如下圖:

    ?

    總結

    以上是生活随笔為你收集整理的Android 基础教程之-------Android ProgressBar的使用!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。