不多说 先上图:
点击本地列表中,实现新浪微博中点击缩略图 ,加载成原图! 刚开始做的时候,只是在布局上添加了一个隐藏的xml ,设置熟悉为居中显示,但后面显示的图片
效果有点僵硬,感觉就是叠加在一起,没有视觉的立体感,所以后面百度了下, 说可以直接用dialog 可以实现,但是没有找到demo 应用,所以只好自己动手写了一个
AlertImageDialog.java 类,专门实现点击弹出,通过服务器下载原图,下载的过程中,通过progressbar 经行默认加载,当数据回来时候,隐藏progressbar ,显示原图
点击该Dialog 直接消除,当再次点击,则不会去服务器,加载在本地数据库中,这样实现了基本的功能。
不多说了 ,希望对你有帮助:
/* * @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 显示原图