set viewpager item as a medium
This commit is contained in:
parent
b36d06aafa
commit
9ae1e592ed
3 changed files with 20 additions and 17 deletions
|
@ -1,6 +1,9 @@
|
|||
package com.simplemobiletools.gallery;
|
||||
|
||||
public class Media {
|
||||
import java.io.Serializable;
|
||||
|
||||
public class Media implements Serializable {
|
||||
private static final long serialVersionUID = -6543139465975455L;
|
||||
private final String path;
|
||||
private final boolean isVideo;
|
||||
|
||||
|
|
|
@ -11,25 +11,25 @@ import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView;
|
|||
import com.simplemobiletools.gallery.activities.ViewPagerActivity;
|
||||
|
||||
public class ViewPagerFragment extends Fragment implements View.OnClickListener {
|
||||
private static final String PATH = "path";
|
||||
private String path;
|
||||
private static final String MEDIUM = "medium";
|
||||
private Media medium;
|
||||
|
||||
public void setPath(String path) {
|
||||
this.path = path;
|
||||
public void setMedium(Media medium) {
|
||||
this.medium = medium;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
final View view = inflater.inflate(R.layout.pager_item, container, false);
|
||||
|
||||
if (path == null && savedInstanceState != null) {
|
||||
path = savedInstanceState.getString(PATH);
|
||||
if (medium == null && savedInstanceState != null) {
|
||||
medium = (Media) savedInstanceState.getSerializable(MEDIUM);
|
||||
}
|
||||
|
||||
if (path != null) {
|
||||
if (medium != null) {
|
||||
final SubsamplingScaleImageView imageView = (SubsamplingScaleImageView) view.findViewById(R.id.photo);
|
||||
imageView.setOrientation(SubsamplingScaleImageView.ORIENTATION_USE_EXIF);
|
||||
imageView.setImage(ImageSource.uri(path));
|
||||
imageView.setImage(ImageSource.uri(medium.getPath()));
|
||||
imageView.setMaxScale(5f);
|
||||
imageView.setOnClickListener(this);
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ public class ViewPagerFragment extends Fragment implements View.OnClickListener
|
|||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putString(PATH, path);
|
||||
outState.putSerializable(MEDIUM, medium);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -10,28 +10,28 @@ import com.simplemobiletools.gallery.ViewPagerFragment;
|
|||
import java.util.List;
|
||||
|
||||
public class MyPagerAdapter extends FragmentStatePagerAdapter {
|
||||
private List<Media> paths;
|
||||
private List<Media> media;
|
||||
|
||||
public MyPagerAdapter(FragmentManager fm, List<Media> paths) {
|
||||
public MyPagerAdapter(FragmentManager fm, List<Media> media) {
|
||||
super(fm);
|
||||
this.paths = paths;
|
||||
this.media = media;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return paths.size();
|
||||
return media.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
final ViewPagerFragment fragment = new ViewPagerFragment();
|
||||
fragment.setPath(paths.get(position).getPath());
|
||||
fragment.setMedium(media.get(position));
|
||||
return fragment;
|
||||
}
|
||||
|
||||
public void updateItems(List<Media> newPaths) {
|
||||
paths.clear();
|
||||
paths.addAll(newPaths);
|
||||
media.clear();
|
||||
media.addAll(newPaths);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue