小編給大家分享一下Android如何實現(xiàn)標題上顯示隱藏進度條效果,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
為酒泉等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及酒泉網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站設計制作、網(wǎng)站設計、酒泉網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
一個界面,實現(xiàn)在向頁面添加圖片時,在標題上顯示一個水平進度條,當圖片載入完畢后,隱藏進度條并顯示圖片
具體實現(xiàn)方法:
res/layout/main.xml:
MainActivity:
package com.example.test; import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.widget.ImageView; import android.widget.LinearLayout; public class MainActivity extends Activity{ private int imageId[]=new int[]{R.drawable.img01,R.drawable.img02, R.drawable.img03,R.drawable.img04};//定義并初始化一個保存要顯示圖片id的數(shù)組 private LinearLayout layout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_PROGRESS);//顯示水平進度條 setContentView(R.layout.main); layout=(LinearLayout)findViewById(R.id.layout1); new MyTack().execute(); } /* * 創(chuàng)建繼承自AsyncTask的異步類,并重寫onPreExecute()、doInBackground()、onProgressUpdate() * 和onPostExecute方法,實現(xiàn)在向頁面添加圖片時,在標題上顯示一個水平進度條,當圖片載入完畢后, * 隱藏進度條并顯示圖片 * */ //功能:創(chuàng)建異步任務,添加4張圖片 class MyTack extends AsyncTask{ @Override protected void onPreExecute() { setProgressBarVisibility(true);//執(zhí)行任務前讓進度條可見 super.onPreExecute(); } //功能:要執(zhí)行的耗時任務(此方法異步執(zhí)行) @Override protected LinearLayout doInBackground(Void... params) { LinearLayout layout2=new LinearLayout(MainActivity.this); for (int i = 1; i < 5; i++) { ImageView imageView=new ImageView(MainActivity.this);//創(chuàng)建一個ImageView對象 imageView.setLayoutParams(new LayoutParams(245,108)); imageView.setImageResource(imageId[i-1]);//設置要顯示的圖片 layout2.addView(imageView);//將imageView添加到線形布局管理器中 try { Thread.sleep(10);//為了更好的觀察到效果,我們讓線程休眠10毫秒 } catch (InterruptedException e) { e.printStackTrace(); } publishProgress(i);//觸發(fā)onProgressUpdate(Progress...)方法更新進度 } return layout2; } //功能:更新進度(此方法在主線程中運行) @Override protected void onProgressUpdate(Integer... values) { setProgress(values[0]*2500);//動態(tài)更新最新進度 super.onProgressUpdate(values); } //功能:執(zhí)行任務后(此方法在主線程中運行) @Override protected void onPostExecute(LinearLayout result) { setProgressBarVisibility(false);//任務執(zhí)行后隱藏進度條 layout.addView(result);//將水平線性布局管理器添加到布局文件中添加的垂直線性布局管理器中 super.onPostExecute(result); } } }
運行效果如下:
下圖是加載過程,標題欄上方有一個進度條顯示的是加載圖片的進度
下圖是加載完成,顯示出圖片
以上是“Android如何實現(xiàn)標題上顯示隱藏進度條效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!