The image viewer is closed by tapping.

captchafix
Florens Douwes 12 years ago
parent e280d6d465
commit 85a1f7b4cc
  1. 2
      Chan/src/org/floens/chan/fragment/PostRepliesFragment.java
  2. 18
      Chan/src/org/floens/chan/imageview/fragment/ImageViewFragment.java
  3. 7
      Chan/src/org/floens/chan/imageview/view/NetworkPhotoView.java

@ -53,7 +53,7 @@ public class PostRepliesFragment extends DialogFragment {
public void onDismiss(DialogInterface dialog) { public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog); super.onDismiss(dialog);
if (callback) { if (callback && manager != null) {
manager.onPostRepliesPop(); manager.onPostRepliesPop();
} }
} }

@ -8,12 +8,14 @@ import org.floens.chan.imageview.view.NetworkPhotoView;
import org.floens.chan.net.GIFRequest; import org.floens.chan.net.GIFRequest;
import org.floens.chan.view.GIFView; import org.floens.chan.view.GIFView;
import uk.co.senab.photoview.PhotoViewAttacher.OnViewTapListener;
import android.app.Fragment; import android.app.Fragment;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
@ -22,7 +24,7 @@ import android.widget.Toast;
import com.android.volley.Response; import com.android.volley.Response;
import com.android.volley.VolleyError; import com.android.volley.VolleyError;
public class ImageViewFragment extends Fragment implements View.OnLongClickListener { public class ImageViewFragment extends Fragment implements View.OnLongClickListener, OnViewTapListener, OnClickListener {
private Context context; private Context context;
private RelativeLayout wrapper; private RelativeLayout wrapper;
private Post post; private Post post;
@ -59,6 +61,8 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe
wrapper.setPadding(padding, padding, padding, padding); wrapper.setPadding(padding, padding, padding, padding);
wrapper.setGravity(Gravity.CENTER); wrapper.setGravity(Gravity.CENTER);
wrapper.setOnClickListener(this);
return wrapper; return wrapper;
} }
@ -76,6 +80,7 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe
public void onResponse(GIFView view) { public void onResponse(GIFView view) {
wrapper.addView(view, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); wrapper.addView(view, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
view.setOnLongClickListener(ImageViewFragment.this); view.setOnLongClickListener(ImageViewFragment.this);
view.setOnClickListener(ImageViewFragment.this);
showProgressBar(false); showProgressBar(false);
} }
}, new Response.ErrorListener() { }, new Response.ErrorListener() {
@ -95,6 +100,7 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe
imageView.setImageUrl(post.imageUrl, ChanApplication.getImageLoader()); imageView.setImageUrl(post.imageUrl, ChanApplication.getImageLoader());
imageView.setMaxScale(3f); imageView.setMaxScale(3f);
imageView.setOnLongClickListenerToAttacher(this); imageView.setOnLongClickListenerToAttacher(this);
imageView.setOnViewTapListenerToAttacher(this);
wrapper.addView(imageView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); wrapper.addView(imageView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
@ -111,6 +117,16 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe
public boolean onLongClick(View v) { public boolean onLongClick(View v) {
return false; return false;
} }
@Override
public void onViewTap(View view, float x, float y) {
activity.finish();
}
@Override
public void onClick(View v) {
activity.finish();
}
} }

@ -4,6 +4,7 @@ import org.floens.chan.R;
import org.floens.chan.imageview.fragment.ImageViewFragment; import org.floens.chan.imageview.fragment.ImageViewFragment;
import uk.co.senab.photoview.PhotoViewAttacher; import uk.co.senab.photoview.PhotoViewAttacher;
import uk.co.senab.photoview.PhotoViewAttacher.OnViewTapListener;
import android.content.Context; import android.content.Context;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.widget.Toast; import android.widget.Toast;
@ -19,6 +20,7 @@ import com.android.volley.toolbox.NetworkImageView;
public class NetworkPhotoView extends NetworkImageView { public class NetworkPhotoView extends NetworkImageView {
private PhotoViewAttacher attacher; private PhotoViewAttacher attacher;
private OnLongClickListener longClickListener; private OnLongClickListener longClickListener;
private OnViewTapListener viewTapListener;
private ImageViewFragment fragment; private ImageViewFragment fragment;
public NetworkPhotoView(Context context) { public NetworkPhotoView(Context context) {
@ -33,6 +35,10 @@ public class NetworkPhotoView extends NetworkImageView {
longClickListener = listener; longClickListener = listener;
} }
public void setOnViewTapListenerToAttacher(OnViewTapListener listener) {
viewTapListener = listener;
}
@Override @Override
public void setImageDrawable(Drawable drawable) { public void setImageDrawable(Drawable drawable) {
super.setImageDrawable(drawable); super.setImageDrawable(drawable);
@ -40,6 +46,7 @@ public class NetworkPhotoView extends NetworkImageView {
attacher = new PhotoViewAttacher(this); attacher = new PhotoViewAttacher(this);
attacher.setMaximumScale(mMaxScale); attacher.setMaximumScale(mMaxScale);
attacher.setOnLongClickListener(longClickListener); attacher.setOnLongClickListener(longClickListener);
attacher.setOnViewTapListener(viewTapListener);
fragment.showProgressBar(false); fragment.showProgressBar(false);
} }

Loading…
Cancel
Save