国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

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

2019-10-22 18:16:35
字體:
來源:轉載
供稿:網友

本文實例講述了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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 漳州市| 璧山县| 隆昌县| 九龙城区| 青川县| 永顺县| 灌云县| 广南县| 新疆| 桐庐县| 邛崃市| 仙游县| 漠河县| 莲花县| 龙门县| 介休市| 株洲市| 唐山市| 永善县| 鞍山市| 咸阳市| 龙陵县| 剑川县| 长武县| 岳西县| 英吉沙县| 江安县| 工布江达县| 民勤县| 奈曼旗| 射阳县| 运城市| 九龙县| 奉节县| 大兴区| 英超| 南开区| 阿瓦提县| 青岛市| 丰顺县| 茂名市|