【问题标题】:How do I set images from gallery to slider?如何将图像从图库设置为滑块?
【发布时间】:2018-03-07 14:57:55
【问题描述】:

我有一个片段,有一个 imageView 和 2 个按钮(上一个和下一个)。因此,在该 imageView 中,我添加了图库中的第一张图片。然后单击下一步我想从图库中查看下一张图片。我已经得到的图片路径。

让我给你看代码。

public class PhotoFragment extends BaseFragment{
View mainView;
private ImageView photoView;
private Button prev, next;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    mainView = inflater.inflate(R.layout.photo_fragment, container, false);

    photoView = (ImageView) mainView.findViewById(R.id.photoView);
    prev = (Button) mainView.findViewById(R.id.prevPhoto);
    next = (Button) mainView.findViewById(R.id.nextPhoto);

    getAllShownImagesPath(getActivity());
    return mainView;
}

ArrayList<String> getAllShownImagesPath(Activity activity) {
    Uri uri;
    Cursor cursor;
    int column_index_data;
    final ArrayList<String> listOfAllImages = new ArrayList<>();
    String absolutePathOfImage;
    uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

    String[] projection = {MediaStore.MediaColumns.DATA,
            MediaStore.Images.Media.BUCKET_DISPLAY_NAME};

    cursor = activity.getContentResolver().query(uri, projection, null,
            null, null);

    column_index_data = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
    while (cursor.moveToNext()) {
        absolutePathOfImage = cursor.getString(column_index_data);
        listOfAllImages.add(absolutePathOfImage);
    }

    Bitmap myBitmap = BitmapFactory.decodeFile(listOfAllImages.get(0));
    photoView.setImageBitmap(myBitmap);
    photoView.setRotation(90);

    Bitmap myBitmap1 = BitmapFactory.decodeFile(listOfAllImages.get(1));
    Bitmap myBitmap2 = BitmapFactory.decodeFile(listOfAllImages.get(2));
    Bitmap myBitmap3 = BitmapFactory.decodeFile(listOfAllImages.get(3));
    Bitmap myBitmap4 = BitmapFactory.decodeFile(listOfAllImages.get(4));
    Bitmap myBitmap5 = BitmapFactory.decodeFile(listOfAllImages.get(5));
    Bitmap myBitmap6 = BitmapFactory.decodeFile(listOfAllImages.get(6));

    final ArrayList<Bitmap> bitmap = new ArrayList<>();
    bitmap.add(myBitmap);
    bitmap.add(myBitmap1);
    bitmap.add(myBitmap2);
    bitmap.add(myBitmap3);
    bitmap.add(myBitmap4);
    bitmap.add(myBitmap5);
    bitmap.add(myBitmap6);


    prev.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

    next.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });

    cursor.close();
    return listOfAllImages;
}

你看这里我正在获取第一张图片并将其设置在 imageView 中。

Bitmap myBitmap = BitmapFactory.decodeFile(listOfAllImages.get(0));
    photoView.setImageBitmap(myBitmap);

但我不能做滑动部分。我该怎么做?

【问题讨论】:

    标签: java android image bitmap slideshow


    【解决方案1】:
    int imagePosition = 0;
    
    next.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              imagePosition++;
          photoView.setImageBitmap(BitmapFactory.decodeFile(listOfAllImages.get(imagePosition)););
              photoView.setRotation(90);
            }
        });
    
    prev.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              imagePosition--;
          photoView.setImageBitmap(BitmapFactory.decodeFile(listOfAllImages.get(imagePosition)););
              photoView.setRotation(90);
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多