当前位置:操作系统 > 安卓/Android >>

android点击本地缩略图,弹出显示服务器原图

\

不多说 先上图:

 

点击本地列表中,实现新浪微博中点击缩略图 ,加载成原图! 刚开始做的时候,只是在布局上添加了一个隐藏的xml ,设置熟悉为居中显示,但后面显示的图片

效果有点僵硬,感觉就是叠加在一起,没有视觉的立体感,所以后面百度了下, 说可以直接用dialog 可以实现,但是没有找到demo 应用,所以只好自己动手写了一个

AlertImageDialog.java 类,专门实现点击弹出,通过服务器下载原图,下载的过程中,通过progressbar 经行默认加载,当数据回来时候,隐藏progressbar  ,显示原图

点击该Dialog 直接消除,当再次点击,则不会去服务器,加载在本地数据库中,这样实现了基本的功能。

不多说了 ,希望对你有帮助:

[html] /* 
 * @project dongyi_program 
 * @package com.jh.dongyi.activity 
 * @file AlertImageDialog.java 
 * @version  1.0 
 * @author  yourname 
 * @time  2011-12-19 上午08:00:41 
 * CopyRight: */ 
package com.jh.dongyi.activity; 
 
 
import com.jh.dongyi.activity.MyWorkProjectActivity.btonclickListener; 
import com.jh.dongyi.util.Configuration; 
import com.jh.dongyi.util.DBFunction; 
import com.jh.dongyi.util.ImageFactory; 
import com.jh.dongyi.util.POAException; 
 
import android.app.Dialog; 
import android.content.Context; 
import android.graphics.Bitmap; 
import android.os.Handler; 
import android.os.Message; 
import android.view.View; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.ImageView; 
import android.widget.ProgressBar; 
/** 
 *  
 * <code>AlertImageDialog</code> 
 * @description: TODO(弹出扩大图片的dialog)  
 * @version  1.0 
 * @author  liaoyp 
 * @since 2011-12-19 
 */ 
public class AlertImageDialog { 
 
    private Context context; 
    private String imagePath; 
    private Dialog dialog; 
    private DBFunction function; 
    private Bitmap bitmap; 
    /** 
     *  
     * @param context   
     * @param originalImage 原图的地址 
     */ 
    public AlertImageDialog(Context context, String originalImage) { 
        /** 
             * constructor  
             * @param number 
             */ 
        this.context = context; 
        this.imagePath = originalImage; 
    } 
    Handler handler = new Handler(){ 
        @Override 
        public void handleMessage(Message msg) { 
            // TODO Auto-generated method stub 
            // 当数据回来时候影藏bar 显示原图 
/*
 * @project dongyi_program
 * @package com.jh.dongyi.activity
 * @file AlertImageDialog.java
 * @version  1.0
 * @author  yourname
 * @time  2011-12-19 上午08:00:41
 * CopyRight: */
package com.jh.dongyi.activity;


import com.jh.dongyi.activity.MyWorkProjectActivity.btonclickListener;
import com.jh.dongyi.util.Configuration;
import com.jh.dongyi.util.DBFunction;
import com.jh.dongyi.util.ImageFactory;
import com.jh.dongyi.util.POAException;

import android.app.Dialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.ProgressBar;
/**
 *
 * <code>AlertImageDialog</code>
 * @description: TODO(弹出扩大图片的dialog)
 * @version  1.0
 * @author  liaoyp
 * @since 2011-12-19
 */
public class AlertImageDialog {

 private Context context;
 private String imagePath;
 private Dialog dialog;
 private DBFunction function;
 private Bitmap bitmap;
 /**
  *
  * @param context 
  * @param originalImage 原图的地址
  */
 public AlertImageDialog(Context context, String originalImage) {
  /**
       * constructor
       * @param number
       */
  this.context = context;
  this.imagePath = originalImage;
 }
 Handler handler = new Handler(){
  @Override
  public void handleMessage(Message msg) {
   // TODO Auto-generated method stub
   // 当数据回来时候影藏bar 显示原图[html]                 if(msg.what == 1 && bitmap != null){ 
                image.setImageBitmap(bitmap); 
                bar.setVisibility(View.GONE); 
            } 
        } 
    }; 
    private ImageView image; 
 
    private ProgressBar bar; 
 
    public void show() { 
        create(); 
        dialog.show(); 
    } 
      /** 
       *  
       * <code>create</code> 
       * @description: TODO(创建一个bitmap 当本地有则去本地存储,否则去服务器上下载  
       * @since   2011-12-19    yourname 
       */ 
      private void create(){ 
          if(imagePath !=null){ 
              String path =haveDownld(imagePath); 
               
              if(path == null){ 
       &

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,