Android編程實現(xiàn)顯示在標題上的進度條功能【附源碼下載】
本文實例講述了Android編程實現(xiàn)顯示在標題上的進度條功能。分享給大家供大家參考,具體如下:
今天我們來學習一下Android中顯示在Activity標題上的進度條。在這個例子當中我們還能夠?qū)W習到很多關于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數(shù)組 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并開始執(zhí)行 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()方法之前執(zhí)行的方法 */ @Override protected void onPreExecute() { super.onPreExecute(); //設置標題欄的進度條可見 setProgressBarVisibility(true); } /** * 后臺執(zhí)行的耗時操作 */ @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(); //要求更新進度條,會引起調(diào)用onProgressUpdate()方法 publishProgress(i); } return ll; } /** * 更新進度條 */ @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); //參數(shù)值為0-10000,所以要乘以2500,values[0]取值分別是1,2,3,4 setProgress(values[0] * 2500); } /** * 后臺操作執(zhí)行完畢后所要執(zhí)行的方法 */ @Override protected void onPostExecute(LinearLayout result) { super.onPostExecute(result); mainLayout.addView(result); } } }
右鍵運行android project,效果如下:
進度條執(zhí)行完畢后,界面會顯示四張圖片。
附:完整實例代碼點擊此處本站下載。
更多關于Android相關內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》
希望本文所述對大家Android程序設計有所幫助。
相關文章
Android中EditText 設置 imeOptions 無效問題的解決方法
有時候我們需要在EditText 輸出完之后 需要在鍵盤出現(xiàn) 右下角變成“Go”或“前往 搜索時;通常我們需要設置Android:imeOptions屬性,但是今天我發(fā)現(xiàn)設置了無效,下面給大家分享下解決方案2016-12-12Android之自定義實現(xiàn)BaseAdapter(通用適配器三)
這篇文章主要為大家詳細介紹了Android之自定義實現(xiàn)BaseAdapter通用適配器第三篇,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-1220.5 語音合成(百度2016年2月29日發(fā)布的tts引擎)
編寫手機App時,有時需要使用文字轉語音(Text to Speech)的功能,比如開車時閱讀收到的短信、導航語音提示、界面中比較重要的信息通過語音強調(diào)2016-03-03Android應用圖標在狀態(tài)欄上顯示實現(xiàn)原理
Android應用圖標在狀態(tài)欄上顯示,以及顯示不同的圖標,其實很研究完后,才發(fā)現(xiàn),很簡單,具體實現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06Android控件ListView用法(讀取聯(lián)系人示例代碼)
本文以一個讀取聯(lián)系人的代碼為大家講解下Android控件中ListView的使用方法,這個listView有個setAdapter 適配器,里面可以直接實現(xiàn)接口,或者寫個類2013-06-06android 左右滑動+索引圖標實現(xiàn)方法與代碼
使用Gallery和ImageView實現(xiàn)android左右滑動+索引圖標效果,接下來詳細介紹,有需要的朋友可以參考下2012-12-12