Подтвердить что ты не робот

Как заполнить сетку с изображением, выбранным только из галереи или снятым с камеры

У меня есть изображение Gridview, и я хочу добавить изображения ONE ONE в gridview, выбрав из галереи или изображения, снятого с камеры.

4b9b3361

Ответ 1

Что вы можете сделать в своем случае, всегда есть образ, назначенный последнему элементу вашего представления сетки. Нажав на этот последний элемент, вы можете создать всплывающее окно с просьбой взять его в галерею или камеру. Теперь, если пользователь нажимает кнопку "Назад" или решает отменить, продолжайте показывать, что последнее заполненное "+" изображение знака в вашем представлении сетки, иначе, если выбран любой другой вариант, вы можете перейти к желаемому действию, указав в onActivityResult(). если код результата положителен, и вы можете продолжить:

1) Delete the last item from grid view i.e, the '+' sign image
2) Appending the image either taken from camera or gallery
3) Appending the image having '+' sign itself

И всегда ставьте условие для последнего элемента вашего вида сетки, чтобы указать его в диалоговом окне "Навигация в галерею" или "Щелчок с камеры". Для других предметов вы можете продолжить выполнение своих желаемых требований.

Сообщите мне, помогло ли оно.

Спасибо

Ответ 3

Поместите изображения в папку [изображения] на SD-карте

public class ChannelImageAdapter extends BaseAdapter {

int mGalleryItemBackground;
private Context mContext;
File[] images;
File[] files;
public ChannelImageAdapter(Context c, int folderID) {
    mContext = c;

    File dir = new File(Environment.getExternalStorageDirectory() + "/images");
    files = dir.listFiles();
    images = files[folderID].listFiles();

}
public int getCount() {
    return images.length;
}
public Object getItem(int position) {
    return images[position].getAbsolutePath();
}
public long getItemId(int position) {
    return position;
}
public String getAlbumName(int folderID) {
    return files[folderID].getName();
}
public View getView(int position, View convertView, ViewGroup parent) {

    ImageView imageView;
    //Bitmap bm = BitmapFactory
    //      .decodeFile(images[position].getAbsolutePath());
    if (convertView == null) {
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(100, 100));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        imageView.setPadding(5, 10, 5, 10);
    } else {
        imageView = (ImageView) convertView;
    }
    imageView.setImageBitmap(Bitmap.decode(images[position].getAbsoluteFile()));
    return imageView;

}

}