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 ,