mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Show loading progress for images in detail view
This commit is contained in:
parent
b6400139ae
commit
7f1ab39683
2 changed files with 50 additions and 1 deletions
|
|
@ -6,11 +6,27 @@
|
|||
android:layout_height="fill_parent"
|
||||
android:background="@android:color/background_dark"
|
||||
>
|
||||
<ProgressBar android:id="@+id/mediaDetailImageLoading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:indeterminate="true"
|
||||
android:visibility="visible"
|
||||
/>
|
||||
|
||||
<ImageView android:id="@+id/mediaDetailImageFailed"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:src="@android:drawable/ic_menu_close_clear_cancel"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<ImageView android:id="@+id/mediaDetailImage"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="fitCenter"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<RelativeLayout
|
||||
|
|
|
|||
|
|
@ -1,16 +1,21 @@
|
|||
package org.wikimedia.commons.media;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import com.actionbarsherlock.app.SherlockFragment;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.assist.ImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
||||
import com.nostra13.universalimageloader.core.assist.SimpleImageLoadingListener;
|
||||
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||
import org.wikimedia.commons.Media;
|
||||
import org.wikimedia.commons.R;
|
||||
|
|
@ -29,6 +34,8 @@ public class MediaDetailFragment extends SherlockFragment {
|
|||
|
||||
private ImageView image;
|
||||
private TextView title;
|
||||
private ProgressBar loadingProgress;
|
||||
private ImageView loadingFailed;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
@ -45,8 +52,34 @@ public class MediaDetailFragment extends SherlockFragment {
|
|||
View view = inflater.inflate(R.layout.fragment_media_detail, container, false);
|
||||
image = (ImageView) view.findViewById(R.id.mediaDetailImage);
|
||||
title = (TextView) view.findViewById(R.id.mediaDetailTitle);
|
||||
loadingProgress = (ProgressBar) view.findViewById(R.id.mediaDetailImageLoading);
|
||||
loadingFailed = (ImageView) view.findViewById(R.id.mediaDetailImageFailed);
|
||||
|
||||
String actualUrl = TextUtils.isEmpty(media.getImageUrl()) ? media.getLocalUri().toString() : media.getThumbnailUrl(640);
|
||||
ImageLoader.getInstance().displayImage(actualUrl, image, displayOptions);
|
||||
ImageLoader.getInstance().displayImage(actualUrl, image, displayOptions, new ImageLoadingListener() {
|
||||
public void onLoadingStarted() {
|
||||
loadingProgress.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
public void onLoadingFailed(FailReason failReason) {
|
||||
loadingProgress.setVisibility(View.GONE);
|
||||
loadingFailed.setVisibility(View.VISIBLE);
|
||||
|
||||
}
|
||||
|
||||
public void onLoadingComplete(Bitmap bitmap) {
|
||||
loadingProgress.setVisibility(View.GONE);
|
||||
loadingFailed.setVisibility(View.GONE);
|
||||
image.setVisibility(View.VISIBLE);
|
||||
|
||||
}
|
||||
|
||||
public void onLoadingCancelled() {
|
||||
// wat?
|
||||
throw new RuntimeException("Image loading cancelled. But why?");
|
||||
|
||||
}
|
||||
});
|
||||
title.setText(Utils.displayTitleFromTitle(media.getFilename()));
|
||||
|
||||
return view;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue