Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Android / GridView con imagenes en miniatura

GridView con imagenes en miniatura

Autor jc mouse domingo, marzo 16, 2014

Entre las muchas aplicaciones que hay en la playstore de google están las galerías de fotos de chicas 🙂 que tantos nos entretienen y divierten en los aburridos días de trabajo 😉 alguna vez se preguntaron ¿cómo lo hacen? la aplicación digo 😉

En este post no crearemos toda la aplicación en si, sino más bien un  proyecto sencillo  para tener una idea más o menos de como va la aplicación, en resumen nuestra aplicación android consistirá en un galería de imágenes en miniatura. En futuros post ampliaremos este mismo código para que al hacer clic en una miniatura, este se amplíe.

Necesitamos

– Eclipse Indigo + Android instalado

Nivel Java-Android: Intermedio

Tiempo: 15 minutos

1.Crea un nuevo Application Android Project con la siguiente configuración:

Application Name: Sample Gallery

Project Name: SampleGallery

Package Name: com.bolivia.samplegallery

Activity: Blank Activity

Activity Name: MainActivity.java

Layout Name: activity_main.xml

2. Para esta galería utilizaremos imágenes JPG de 100×140 pixeles, la cantidad sera de 9 imágenes y el tema “chicas con tatuajes”. Puedes hacer uso de imagenes un poco más grandes, pero sin exagerar porque esto ademas de consumir más memoria puede llegar a producir un error de desborde de memoria.

Las imágenes debes colocarlas en la carpeta “res\drawable-mdpi”, los nombres de los archivos son “foto1.jpg”, “foto2.jpg”…”foto9.jpg”

3. Abrimos el archivo “activity_main.xml” que esta en “res\layout” y reemplazamos el código XML por:

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/GridView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:horizontalSpacing="10dp"
    android:numColumns="3"
    android:stretchMode="columnWidth"
    android:verticalSpacing="10dp"
    tools:context=".GridImageActivity" >

</GridView>

4. Creamos una nueva clase llamada “GridViewImageAdapter.java

package com.bolivia.samplegallery;

import java.util.ArrayList;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class GridViewImageAdapter extends BaseAdapter {

 private Context mContext;
 private ArrayList<Integer> listPhoto = new ArrayList<Integer>(); 

 /** Constructor de clase */
 public GridViewImageAdapter(Context c){
  mContext = c;
  //se cargan las miniaturas
  listPhoto.add(R.drawable.foto1);
  listPhoto.add(R.drawable.foto2);
  listPhoto.add(R.drawable.foto3);
  listPhoto.add(R.drawable.foto4);
  listPhoto.add(R.drawable.foto5);
  listPhoto.add(R.drawable.foto6);
  listPhoto.add(R.drawable.foto7);
  listPhoto.add(R.drawable.foto8);
  listPhoto.add(R.drawable.foto9);
 }

 @Override
 public int getCount() {
  return listPhoto.size();
 }

 @Override
 public Object getItem(int position) {
  return listPhoto.get(position);
 }

 @Override
 public long getItemId(int position) {
  return 0;
 }

 @Override
 public View getView(int position, View view, ViewGroup viewgroup) {
  ImageView imageView = new ImageView(mContext);
  imageView.setImageResource( listPhoto.get(position) );
  imageView.setScaleType( ImageView.ScaleType.CENTER_CROP );
  imageView.setLayoutParams( new GridView.LayoutParams(180, 220) );
  return imageView;  
 }

}

5. Finalmente modificamos el método onCreate de nuestra clase MainActivity de la siguiente forma:

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_grid_image);
  //---------->Nuevo codigo
  GridView gridView = (GridView) findViewById( R.id.GridView1 );
  gridView.setAdapter( new GridViewImageAdapter(this) );
  //---------->fin
 }

ejecuta y disfruta 🙂

android gallery

 

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Escritura y lectura de archivos CSV

Escritura y lectura de archivos CSV

Los archivos CSV (del inglés comma-separated values – separados por comas) son un tipo de documento en formato abi...

Creación y uso de parametros en Jaspersoft Studio

Creación y uso de parametros en Jaspersoft Studio

Hola 🙂 En este video tutorial veremos como crear y usar parámetros en reportes con JasperSoft Studio, la base de datos q...

Convertir imagenes JPEG a video MOV

Convertir imagenes JPEG a video MOV

Googleando me encontré con una interesante clase java “JpegImagesToMovie” que convierte imágenes JPEG a víde...

Dimask: La mascara de la Belleza (Descargar)

Dimask: La mascara de la Belleza (Descargar)

La Belleza está en la Simetría ¿Qué es lo que nos hace considerar un rostro bello? ¿Está influenciado nuestro criterio p...

Ejecutar JAR desde Visual Basic .NET (Lanzadores)

Ejecutar JAR desde Visual Basic .NET (Lanzadores)

Cuando queremos presentar un programa hecho en java y darle un toque de profesionalidad, a veces no queremos que el clie...

Crear ventana de ayuda sin JavaHelp

Crear ventana de ayuda sin JavaHelp

Java Help es (o era) una librería para java que permitía añadir ventanas de ayuda HTML a nuestros proyectos, al ser una...

8 comentarios en “GridView con imagenes en miniatura”

  1. dlanuza dice:

    interesante vere como me sirva en mi proyecto gracias por tu aporte

  2. esneider dice:

    muchas gracias perfectamente entendido. Gracias!

  3. jose ramos dice:

    hola quería saber si es posible ingresar registros desde un jtable a una tabla mysql?????

  4. Muy útil, gracias, ¿Donde puedo contribuir?

    1. Mouse dice:

      búscame en fb y hablamos 🙂

  5. jesus dice:

    gracias por el aporte eres un genio sigue adelante !!!!!

  6. Lilialex dice:

    Hola mouse excelente aporte.
    hay una forma de desabilitar una entidad es decir que algunas esten pintadas pero no haga efecto de mouseover. ??

    muchas gracias

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

En este post conoceremos algunos de los operadores de comparación que existen en Linux y realizaremos unos ejercicios pa...

En este post conocernos lo que son las Estructuras de Control IF en los script de Bash. Estas estructuras nos ayudan a c...

Todo producto tecnológico tiene un ciclo de vida, algunos bastante corto otros muy largo, podemos mencionar el software...

Cada versión de Linux viene con su propia terminal predeterminada para interactuar con el Sistema Operativo a través de...

Android Bolivia

MAUS