Android实现标题上显示隐藏进度条效果

一个界面,实现在向页面添加图片时,在标题上显示一个水平进度条,当图片载入完毕后,隐藏进度条并显示图片

具体实现方法:
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};//定义并初始化一个保存要显示图片id的数组
 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();
 } 

 /*
  * 创建继承自AsyncTask的异步类,并重写onPreExecute()、doInBackground()、onProgressUpdate()
  * 和onPostExecute方法,实现在向页面添加图片时,在标题上显示一个水平进度条,当图片载入完毕后,
  * 隐藏进度条并显示图片
  * */ 

  //功能:创建异步任务,添加4张图片
 class MyTack extends AsyncTask<Void,Integer,LinearLayout>{ 

  @Override
  protected void onPreExecute() {
   setProgressBarVisibility(true);//执行任务前让进度条可见
   super.onPreExecute();
  } 

  //功能:要执行的耗时任务(此方法异步执行)
  @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);//创建一个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);//触发onProgressUpdate(Progress...)方法更新进度
   }
   return layout2;
  } 

  //功能:更新进度(此方法在主线程中运行)
  @Override
  protected void onProgressUpdate(Integer... values) {
   setProgress(values[0]*2500);//动态更新最新进度
   super.onProgressUpdate(values);
  }
  //功能:执行任务后(此方法在主线程中运行)
  @Override
  protected void onPostExecute(LinearLayout result) {
   setProgressBarVisibility(false);//任务执行后隐藏进度条
   layout.addView(result);//将水平线性布局管理器添加到布局文件中添加的垂直线性布局管理器中
   super.onPostExecute(result);
  } 

 }
}

运行效果如下:

下图是加载过程,标题栏上方有一个进度条显示的是加载图片的进度

下图是加载完成,显示出图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Android 进度条显示在标题栏的实现方法
  • Android 七种进度条的样式
  • android自定义进度条渐变色View的实例代码
  • Android文件下载进度条的实现代码
  • Android中自定义进度条详解
  • Android三种方式实现ProgressBar自定义圆形进度条
  • Android编程之ProgressBar圆形进度条颜色设置方法
  • Android自定义水平进度条的圆角进度
  • Android编程实现自定义进度条颜色的方法
  • Android ProgressDialog进度条使用详解
  • Android编程实现显示在标题上的进度条功能【附源码下载】
(0)

相关推荐

  • Android三种方式实现ProgressBar自定义圆形进度条

    进度条样式在项目中经常可以见到,下面小编给大家分享Android三种方式实现ProgressBar自定义圆形进度条. Android进度条有4种风格可以使用. 默认值是progressBarStyle. 设置成progressBarStyleSmall后,图标变小. 设置成progressBarStyleLarge后,图标变大 设置成progressBarStyleHorizontal后,变成横向长方形. 自定义圆形进度条ProgressBar的一般有三种方式: 一.通过动画实现 定义res/a

  • Android 七种进度条的样式

    当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行.执行进度如何.应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度.Android系统提供了两大类进度条样式,长形进度条(progress-BarStyleHorizontal) 和圆形进度条(progressBarStyleLarge).进度条用处很多,比如,应用程序装载资源和网络连接时,可以提示用户稍等,这一类进度条只是代表应用程序中某一部分的执行情况,而整个应用程序执行情况呢,则可以通

  • Android中自定义进度条详解

    Android原生控件只有横向进度条一种,而且没法变换样式,比如原生rom的样子 很丑是吧,当伟大的产品设计要求更换前背景,甚至纵向,甚至圆弧状的,咋办,比如: ok,我们开始吧: 一)变换前背景 先来看看progressbar的属性: 复制代码 代码如下: <ProgressBar             android:id="@+id/progressBar"             style="?android:attr/progressBarStyleHor

  • Android ProgressDialog进度条使用详解

    进度条以一种客观化的方式,让我们知道程序正在执行的情况,在程序需要时间执行任务的时候,提示进度条友好的告诉用户说,当前任务还没有完成,请稍稍等待,进度条经常使用在APP下载应用.更新应用.加载网络数据中,使用频繁,常见的进度条有ProgressDialog.ProgressBar,这里只要介绍ProgressDialog. ProgressDialog读取文件进度解析主要涉及到一个知识: Handler消息处理机制, 文件字节流的操作, ProgressDialog类的使用 1.Handler消

  • Android编程实现显示在标题上的进度条功能【附源码下载】

    本文实例讲述了Android编程实现显示在标题上的进度条功能.分享给大家供大家参考,具体如下: 今天我们来学习一下Android中显示在Activity标题上的进度条.在这个例子当中我们还能够学习到很多关于AsyncTask的知识. (1)准备用于显示到界面上的四张图片img01,img02,img03,img04 (2)在Activity的布局文件activity_main.xml中只定义一个线性布局LinearLayout,并为其设置一个id,代码如下: <LinearLayout xmln

  • android自定义进度条渐变色View的实例代码

    最近在公司,项目不是很忙了,偶尔看见一个兄台在CSDN求助,帮忙要一个自定义的渐变色进度条,我当时看了一下进度条,感觉挺漂亮的,就尝试的去自定义view实现了一个,废话不说,先上图吧! 这个自定义的view,完全脱离了android自带的ProgressView,并且没使用一张图片,这样就能更好的降低程序代码上的耦合性! 下面我贴出代码  ,大概讲解一下实现思路吧! 复制代码 代码如下: package com.spring.progressview; import android.conten

  • Android文件下载进度条的实现代码

    main.xml: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_paren

  • Android 进度条显示在标题栏的实现方法

    好吧,先给大家展示效果图: xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" > <Butt

  • Android自定义水平进度条的圆角进度

    平时项目中经常用到自定义进度条样式,我们一般实现的也是下面的第一种,至于第二种的圆角进度,网上介绍的资料也不是很多,这里一起展示一下这两种的实现. 下面开始看代码,先从主界面布局开始看起: <ProgressBar style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="20dp&qu

  • Android编程实现自定义进度条颜色的方法

    本文实例讲述了Android编程实现自定义进度条颜色的方法.分享给大家供大家参考,具体如下: android 自定义进度条颜色 先看图 基于产品经理各种自定义需求,经过查阅了解,下面是自己对android自定义进度条的学习过程! 这个没法了只能看源码了,还好下载了源码, sources\base\core\res\res\  下应有尽有,修改进度条颜色只能找progress ,因为是改变样式,首先找styles.xml 找到xml后,进去找到 <style name="Widget.Pro

  • Android编程之ProgressBar圆形进度条颜色设置方法

    本文实例讲述了Android ProgressBar圆形进度条颜色设置方法.分享给大家供大家参考,具体如下: 你是不是还在为设置进度条的颜色而烦恼呢--别着急,且看如下如何解决. ProgressBar分圆形进度条和水平进度条 我这里就分享下如何设置圆形进度条的颜色吧,希望对大家会有帮助. 源码如下: 布局文件代码: <ProgressBar android:id="@+id/progressbar" android:layout_width="wrap_content

随机推荐