Android實(shí)現(xiàn)標(biāo)題上顯示隱藏進(jìn)度條效果
一個(gè)界面,實(shí)現(xiàn)在向頁面添加圖片時(shí),在標(biāo)題上顯示一個(gè)水平進(jìn)度條,當(dāng)圖片載入完畢后,隱藏進(jìn)度條并顯示圖片
具體實(shí)現(xiàn)方法:
res/layout/main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:id="@+id/layout1" android:gravity="center"> </LinearLayout>
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};//定義并初始化一個(gè)保存要顯示圖片id的數(shù)組
private LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_PROGRESS);//顯示水平進(jìn)度條
setContentView(R.layout.main);
layout=(LinearLayout)findViewById(R.id.layout1);
new MyTack().execute();
}
/*
* 創(chuàng)建繼承自AsyncTask的異步類,并重寫onPreExecute()、doInBackground()、onProgressUpdate()
* 和onPostExecute方法,實(shí)現(xiàn)在向頁面添加圖片時(shí),在標(biāo)題上顯示一個(gè)水平進(jìn)度條,當(dāng)圖片載入完畢后,
* 隱藏進(jìn)度條并顯示圖片
* */
//功能:創(chuàng)建異步任務(wù),添加4張圖片
class MyTack extends AsyncTask<Void,Integer,LinearLayout>{
@Override
protected void onPreExecute() {
setProgressBarVisibility(true);//執(zhí)行任務(wù)前讓進(jìn)度條可見
super.onPreExecute();
}
//功能:要執(zhí)行的耗時(shí)任務(wù)(此方法異步執(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)建一個(gè)ImageView對(duì)象
imageView.setLayoutParams(new LayoutParams(245,108));
imageView.setImageResource(imageId[i-1]);//設(shè)置要顯示的圖片
layout2.addView(imageView);//將imageView添加到線形布局管理器中
try {
Thread.sleep(10);//為了更好的觀察到效果,我們讓線程休眠10毫秒
} catch (InterruptedException e) {
e.printStackTrace();
}
publishProgress(i);//觸發(fā)onProgressUpdate(Progress...)方法更新進(jìn)度
}
return layout2;
}
//功能:更新進(jìn)度(此方法在主線程中運(yùn)行)
@Override
protected void onProgressUpdate(Integer... values) {
setProgress(values[0]*2500);//動(dòng)態(tài)更新最新進(jìn)度
super.onProgressUpdate(values);
}
//功能:執(zhí)行任務(wù)后(此方法在主線程中運(yùn)行)
@Override
protected void onPostExecute(LinearLayout result) {
setProgressBarVisibility(false);//任務(wù)執(zhí)行后隱藏進(jìn)度條
layout.addView(result);//將水平線性布局管理器添加到布局文件中添加的垂直線性布局管理器中
super.onPostExecute(result);
}
}
}
運(yùn)行效果如下:
下圖是加載過程,標(biāo)題欄上方有一個(gè)進(jìn)度條顯示的是加載圖片的進(jìn)度

下圖是加載完成,顯示出圖片

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android 下載文件通知欄顯示進(jìn)度條功能的實(shí)例代碼
- Android編程實(shí)現(xiàn)顯示在標(biāo)題上的進(jìn)度條功能【附源碼下載】
- android多線程斷點(diǎn)下載-帶進(jìn)度條和百分比進(jìn)度顯示效果
- Android多線程+單線程+斷點(diǎn)續(xù)傳+進(jìn)度條顯示下載功能
- Android自定義多節(jié)點(diǎn)進(jìn)度條顯示的實(shí)現(xiàn)代碼(附源碼)
- Android使用AsyncTask下載圖片并顯示進(jìn)度條功能
- Android 進(jìn)度條顯示在標(biāo)題欄的實(shí)現(xiàn)方法
- Android上傳文件到服務(wù)端并顯示進(jìn)度條
- Android實(shí)現(xiàn)支持進(jìn)度條顯示的短信備份工具類
- android實(shí)現(xiàn)動(dòng)態(tài)顯示隱藏進(jìn)度條
相關(guān)文章
Android中使用CircleImageView和Cardview制作圓形頭像的方法
這篇文章主要介紹了Android中使用CircleImageView和Cardview制作圓形頭像的方法,簡單介紹了CircleImageView和Cardview的使用,需要的朋友可以參考下2016-09-09
Android控件之CheckBox、RadioButton用法實(shí)例分析
這篇文章主要介紹了Android控件之CheckBox、RadioButton用法,以實(shí)例形式較為詳細(xì)的分析了CheckBox和RadioButton實(shí)現(xiàn)復(fù)選按鈕及單選按鈕功能的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
使用Android Studio 開發(fā)自己的SDK教程
很多時(shí)候我們要將自己開發(fā)一個(gè)類庫打包成jar包以供他調(diào)用,這個(gè)jar包也叫你自己的SDK或者叫l(wèi)ibrary。android studio生成jar包的方法與eclipse有所不同。在studio中l(wèi)ibrary其實(shí)是module的概念。2017-10-10
詳解Android中PopupWindow在7.0后適配的解決
本篇文章主要介紹了詳解Android中PopupWindow在7.0后適配的解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
adb wireless進(jìn)行Android手機(jī)調(diào)試詳解
這篇文章給大家講解了在Android手機(jī)上使用adb wireless進(jìn)行調(diào)試的步驟以及問題解決辦法,有需要的跟著學(xué)習(xí)下吧。2017-12-12
Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問題的解決
這篇文章主要介紹了Android中利用NetworkInfo判斷網(wǎng)絡(luò)狀態(tài)時(shí)出現(xiàn)空指針(NullPointerException)問題的解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11

