package com.yuzhi.fine.ui.photoview; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.RelativeLayout; import com.squareup.picasso.Callback; import com.squareup.picasso.Picasso; import com.yuzhi.fine.R; public class PhotoViewWrapper extends RelativeLayout { protected View loadingDialog; protected PhotoView photoView; protected Context mContext; public PhotoViewWrapper(Context ctx) { super(ctx); mContext = ctx; init(); } public PhotoViewWrapper(Context ctx, AttributeSet attrs) { super(ctx, attrs); mContext = ctx; init(); } public PhotoView getImageView() { return photoView; } protected void init() { photoView = new PhotoView(mContext); photoView.enable(); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); photoView.setLayoutParams(params); this.addView(photoView); photoView.setVisibility(GONE); loadingDialog = LayoutInflater.from(mContext).inflate(R.layout.photo_view_zoom_progress, null); loadingDialog.setLayoutParams(params); this.addView(loadingDialog); } public void setUrl(String imageUrl) { Picasso.with(mContext).load(imageUrl) .placeholder(R.drawable.default_image) .into(photoView, new Callback() { @Override public void onSuccess() { loadingDialog.setVisibility(View.GONE); photoView.setVisibility(VISIBLE); } @Override public void onError() { photoView.setBackgroundResource(R.drawable.default_image); } }); } }