EasyImagePicker

Additional

Language
Java
Version
1.0.2 (Jul 25, 2017)
Created
Apr 14, 2017
Updated
Jul 25, 2017
Owner
Ing Oswaldo Gomez (oswaldo89)
Contributors
Ing Oswaldo Gomez (oswaldo89)
nirabpudasaini
2
Activity
Badge
Generate
Download
Source code
APK file

Announcement

EasyImagePicker

Libreria de facil implementacion, para Android nativo, se pueden obtener imagenes desde la galeria y desde la camara.

  • Se pueden agregar hasta 10 imagenes
  • Eliminar imagen despues agregarla
  • Visualizar imagen despues de agregarla
  • Posibilidad de cargar Imagenes desde una Url ( importante para cuando editas )
  • Para subir te devuelve un arreglo de Uri's para que las puedas manejar tu conveniencia.

Instalación

Agregamos las 2 url's del repositorio al build.gradle root

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
        maven { url 'http://dl.bintray.com/raphaelbussa/maven' }
    }
}

Agregarmos la url de la dependencia al build.gradle del folder /app

dependencies {
   compile 'com.github.oswaldo89:EasyImagePicker-library:1.0.2'
}

Agregamos el contenedor principal, las pruebas se hicieron dentro de un padre LinearLayout en orientación vertical.

<com.oswaldogh89.picker.ImagePicker
    android:id="@+id/picker"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

</com.oswaldogh89.picker.ImagePicker>

Dentro del activity en donde usaremos el control, instanciamos.

ImagePicker picker = (ImagePicker) findViewById(R.id.picker);
picker.setMainactivity(ExampleUsage.this);

Podemos Agregar un color hexadecimal, para el contorno de las imagenes que se van agregando.

picker.SetBorderImageColor("#075e55");

Podemos Habilitar/Inhabilitar el boton para borrar todas las imagenes.

picker.enableDelateAll(false);

Por ultimo, para visualizar las imagenes hay que cacharlas una vez seleccionada desde la camara o la galeria, se hace con el siguiente codigo a la Activity en donde estamos trabajando.

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
    switch (requestCode) {
        case 0:
            if (resultCode == RESULT_OK) {
                picker.AddNewImage(imageReturnedIntent);
            }
            break;
        case 1:
            if (resultCode == RESULT_OK) {
                picker.AddNewImage(imageReturnedIntent);
            }
            break;
    }
}

Si estamos usando el control para una edicion de datos, y necesitamos que al inciar cargue unas urls, agregamos el siguiente codigo.

//Si vas a cargar imagenes en el control desde una URL
ArrayList<String> urls = new ArrayList<>();
urls.add("https://static.independent.co.uk/s3fs-public/styles/article_small/public/thumbnails/image/2017/01/19/15/earth-from-space.jpg");
urls.add("http://www.slate.com/content/dam/slate/blogs/bad_astronomy/2016/03/09/shutterstock_earthfromhubble.jpg.CROP.original-original.jpg");
picker.addImagesFromUrl(urls);

Por ultimo , cuando ya quieras enviar las imagenes al servidor o guardarlas. las obtienes de la siguiente manera.

HashMap<Integer, String> images = picker.GetPathImages();
for (Map.Entry entry : images.entrySet()) {
    Log.v("IMAGENES_AGREGADAS", "TAMAÑO : " + entry.getValue());
}

Librerias usadas