package com.maksym.ABSPager; import android.app.Dialog; import android.app.DialogFragment; import android.graphics.Bitmap; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.actionbarsherlock.app.SherlockDialogFragment; import com.actionbarsherlock.view.Window; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageLoadingListener; import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; import java.util.Collections; import java.util.LinkedList; import java.util.List; /** * Created by mitrofany4 on 8/16/13. */ public class MyDialogFragment extends SherlockDialogFragment { private static String image; ImageView bigimage; DisplayImageOptions options; public ImageLoader imageLoader; private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener(); static MyDialogFragment newInstance(String image_url) { MyDialogFragment f = new MyDialogFragment(); image=image_url; return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { options = new DisplayImageOptions.Builder() .showStubImage(R.drawable.ic_stub) .showImageForEmptyUri(R.drawable.ic_empty) .showImageOnFail(R.drawable.ic_error) .cacheInMemory(true) .cacheOnDisc(true) .displayer(new RoundedBitmapDisplayer(20)) .build(); imageLoader = ImageLoader.getInstance(); // Получили экземпляр imageLoader.init(ImageLoaderConfiguration.createDefault(getSherlockActivity())); // Проинициализировали конфигом по умолчанию View v = inflater.inflate(R.layout.imagefragment_dialog, container, false); bigimage = (ImageView) v.findViewById(R.id.imageView); imageLoader.displayImage(image, bigimage, options, animateFirstListener); return v; } private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener { static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>()); @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { if (loadedImage != null) { ImageView imageView = (ImageView) view; boolean firstDisplay = !displayedImages.contains(imageUri); if (firstDisplay) { FadeInBitmapDisplayer.animate(imageView, 500); displayedImages.add(imageUri); } } } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); dialog.requestWindowFeature((int) Window.FEATURE_NO_TITLE); return dialog; } }