91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android編程實現顯示在標題上的進度條功能【附源碼下載】

發布時間:2020-09-08 04:06:15 來源:腳本之家 閱讀:153 作者:Bear 欄目:移動開發

本文實例講述了Android編程實現顯示在標題上的進度條功能。分享給大家供大家參考,具體如下:

今天我們來學習一下Android中顯示在Activity標題上的進度條。在這個例子當中我們還能夠學習到很多關于AsyncTask的知識。

(1)準備用于顯示到界面上的四張圖片img01,img02,img03,img04

(2)在Activity的布局文件activity_main.xml中只定義一個線性布局LinearLayout,并為其設置一個id,代碼如下:

<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"
  android:id="@+id/main_layout">
</LinearLayout>

(3)Java代碼部分,通過requestWindowFeature(Window.FEATURE_PROGRESS);語句設置Activity標題欄為有進度條風格,然后實例化并啟動一個MyTask對象,代碼如下:

public class MainActivity extends Activity {
  //圖片id數組
  private int[] imageIds = { R.drawable.img01, R.drawable.img02,
      R.drawable.img03, R.drawable.img04 };
  private LinearLayout mainLayout;
  /**
   * Activity的入口方法
   */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //設置標題欄有進度條
    requestWindowFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.activity_main);
    mainLayout = (LinearLayout)findViewById(R.id.main_layout);
    //實例化MyTask并開始執行
    new MyTask().execute();
  }
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
  }
  /**
   * 自定義繼承AsyncTask的異步類MyTask
   */
  class MyTask extends AsyncTask<Void, Integer, LinearLayout>{
    /**
     * 在doInBackground()方法之前執行的方法
     */
    @Override
    protected void onPreExecute() {
      super.onPreExecute();
      //設置標題欄的進度條可見
      setProgressBarVisibility(true);
    }
    /**
     * 后臺執行的耗時操作
     */
    @Override
    protected LinearLayout doInBackground(Void... params) {
      LinearLayout ll = new LinearLayout(MainActivity.this);
      ll.setOrientation(LinearLayout.VERTICAL);
      ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
      for(int i=1; i<5; i++){
        ImageView iv = new ImageView(MainActivity.this);
        iv.setLayoutParams(new LayoutParams(200, 100));
        iv.setImageResource(imageIds[i-1]);
        ll.addView(iv);
        new Thread(){
          public void run() {
            try {
              //休眠20毫秒
              Thread.sleep(20);
            } catch (Exception e) {
              e.printStackTrace();
            }
          };
        }.start();
        //要求更新進度條,會引起調用onProgressUpdate()方法
        publishProgress(i);
      }
      return ll;
    }
    /**
     * 更新進度條
     */
    @Override
    protected void onProgressUpdate(Integer... values) {
      super.onProgressUpdate(values);
      //參數值為0-10000,所以要乘以2500,values[0]取值分別是1,2,3,4
      setProgress(values[0] * 2500);
    }
    /**
     * 后臺操作執行完畢后所要執行的方法
     */
    @Override
    protected void onPostExecute(LinearLayout result) {
      super.onPostExecute(result);
      mainLayout.addView(result);
    }
  }
}

右鍵運行android project,效果如下:

Android編程實現顯示在標題上的進度條功能【附源碼下載】

進度條執行完畢后,界面會顯示四張圖片。

附:完整實例代碼點擊此處本站下載

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》

希望本文所述對大家Android程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大关县| 土默特左旗| 修文县| 张掖市| 吉林省| 玉门市| 黄梅县| 土默特右旗| 渭源县| 灌云县| 琼结县| 连云港市| 竹北市| 休宁县| 连州市| 石景山区| 景德镇市| 涪陵区| 余庆县| 马关县| 台北县| 定襄县| 固安县| 安图县| 太仆寺旗| 孟连| 昭通市| 中方县| 沅陵县| 烟台市| 秦皇岛市| 赤城县| 阿拉尔市| 龙陵县| 洪泽县| 阿图什市| 洱源县| 吉林省| 丰都县| 河间市| 高安市|