android-加载图像来显示加载的进度

问题描述

加载图像来显示加载的进度

我使用下面的函数来显示图像:

Bitmap imageBitmap = loadBitmap(URL);

loadBitmap()如下:

private Bitmap loadBitmap(String url) {
try {
Bitmap bm = BitmapFactory.decodeStream((InputStream)this.fetch(url));
return bm;
}
catch(Exception e) {
e.printStackTrace();
return null;
}
}

fetch() :

public Object fetch(String address) {
try {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
catch(Exception e) {
e.printStackTrace();
}
return this;
}

在加载的时候我想显示加载进度或一个 load.png。并且在图像加载结束时候显示。如何实现? 我想创建函数 ProgressDialog,但是如何使用呢?

解决方案

你可以使用 AsyncTask 在 PreExecute() 方法中显示 Progress Dialog,然后在 PostExecute() 方法中隐藏。

ProgressDialog prog = new ProgressDialog(this); // Create Progress Dialog
private class DownloadBitmap extends AsyncTask<Void, Integer, Void>{
    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();
        //Display progressDialog before download starts
        prog.show();
    }
    @Override
    protected void onPostExecute(Void result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);
        prog.hide(); //Hide Progress Dialog else use dismiss() to dismiss the dialog
    }
    @Override
    protected Void doInBackground(Void... params) {
        // TODO Auto-generated method stub
        /*
         * Perform download and Bitmap conversion here
         *
         */
        return null;
    }
}

再通过下面代码来调用 AsyncTask。

DownloadBitmap dd = new DownloadBitmap();
dd.execute();

解决方案二:

fetch先写,执行完结束后让load.png消失或者dialog消失
然后在BitmapFactory.decode

解决方案三:

fetch先写,执行完结束后让load.png消失或者dialog消失
然后在BitmapFactory.decode.....

时间: 2024-09-14 22:02:29

android-加载图像来显示加载的进度的相关文章

js实现图片在未加载完成前显示加载中字样_javascript技巧

<html> <title>图片预加载</title> <body> <script> //判断浏览器 var Browser=new Object(); Browser.userAgent=window.navigator.userAgent.toLowerCase(); Browser.ie=/msie/.test(Browser.userAgent); Browser.Moz=/gecko/.test(Browser.userAgent);

Android下拉刷新上拉加载控件(适用于所有View)_Android

     前面写过一篇关于下拉刷新控件的文章下拉刷新控件终结者:PullToRefreshLayout,后来看到好多人还有上拉加载更多的需求,于是就在前面下拉刷新控件的基础上进行了改进,加了上拉加载的功能.不仅如此,我已经把它改成了对所有View都通用!可以随心所欲使用这两个功能~~     我做了一个大集合的demo,实现了ListView.GridView.ExpandableListView.ScrollView.WebView.ImageView.TextView的下拉刷新和上拉加载.后

Android下拉刷新上拉加载控件(适用于所有View)

前面写过一篇关于下拉刷新控件的文章下拉刷新控件终结者:PullToRefreshLayout,后来看到好多人还有上拉加载更多的需求,于是就在前面下拉刷新控件的基础上进行了改进,加了上拉加载的功能.不仅如此,我已经把它改成了对所有View都通用!可以随心所欲使用这两个功能~~ 我做了一个大集合的demo,实现了ListView.GridView.ExpandableListView.ScrollView.WebView.ImageView.TextView的下拉刷新和上拉加载.后面会提供demo的

EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载

原文:EF如何操作内存中的数据以及加载相关联表的数据:延迟加载.贪婪加载.显示加载 之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过ObjectContext来操作数据库的,一看是Object打头的,自然相当庞大,方法也比较多.到了经典的4.1版本,EF小组推出了一些更简单好用的API,就是DbContext,它包括更常用的方法.看看EF小组是怎么说

Android异步加载图像(含线程池,缓存方法)

研究了android从网络上异步加载图像: (1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法.      在主线程中new 一个Handler对象,加载图像方法如下所示 [java] view plaincopyprint? private void loadImage(final String url, final int id) {           handler.post(new Runnable() {  

Android的Fragment 进入时显示正在加载

问题描述 Android的Fragment 进入时显示正在加载 像微信那样,地址四个功能,点击尚为加载的Fragment显示 一个在加载的进度条(圆形的)不是ProgressDialog喔, 没有思路.

android sdk adt-android环境搭建,eclipse加载SDK时显示空白,导致后面创建AVD报错

问题描述 android环境搭建,eclipse加载SDK时显示空白,导致后面创建AVD报错 在eclipse中ADT-23.0.2插件已安装成功,SDK23.0.2也已安装成功,但是 这一块为什么是空白, 导致后面我点AVD manager按钮是报 解决方案 你那个是需要自己创建一个虚拟机啊

android调用H5显示加载中效果的示例代码

我们在看有些应用在引入h5的时候经常会有一个进度条在转,显示加载的意思,那么这个东西其实一般是我们android端做的事(不要把所有的事都推给h5~~~),其实实现起来很简单, ok 废话不多说,上代码吧 wv.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view,

Android 自定义圆形头像CircleImageView支持加载网络图片的实现代码

在Android开发中我们常常用到圆形的头像,如果每次加载之后再进行圆形裁剪特别麻烦.所以在这里写一个自定义圆形ImageView,直接去加载网络图片,这样的话就特别的方便. 先上效果图 主要的方法 1.让自定义 CircleImageView 继承ImageView /** * 自定义圆形头像 * Created by Dylan on 2015/11/26 0026. */ public class CircleImageView extends ImageView { } 2.在构造方法中