Está en la página 1de 8

CAPTULO 1.

Diseo avanzado de interfaces de usuario


GridView 1.1.

Ejercicio paso a paso: Primera versin de


Audiolibros con un GridView.
<?xml version="1.0" encoding="utf-8"?>
<GridView
xmlns:android="http://schemas.android.com/apk/r
es/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="120dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:gravity="top"
/>

1.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridview = (GridView)
findViewById(R.id.gridview);
gridview.setAdapter(new SelectorAdapter(this));
gridview.setOnItemClickListener(new
OnItemClickListener() {
public void onItemClick(AdapterView<?> parent,
View v, int position, long id) {
Toast.makeText(MainActivity.this, "Seleccionado
el elemento: " + position,
Toast.LENGTH_SHORT).show();
}
});
}
}
public class SelectorAdapter extends
BaseAdapter {
LayoutInflater layoutInflater;
public static Vector<BookInfo> bookVector;
public SelectorAdapter(Activity a) {
layoutInflater = (LayoutInflater) a

.getSystemService(Context.LAYOUT_INFLATER
_SERVICE);
inicializarVector();
}
public int getCount() {
return bookVector.size();
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View
convertView, ViewGroup parent){
ImageView imageView;
TextView audiolibroTextView;
BookInfo bookInfo =
bookVector.elementAt(position);
View view = convertView;
if (convertView == null) {
view =
layoutInflater.inflate(R.layout.elemento_selector,n
ull);
}
audiolibroTextView = (TextView)
view.findViewById(R.id.titulo);

imageView = (ImageView)
view.findViewById(R.id.imageView1);
imageView.setImageResource(bookInfo.resource
Image);
imageView.setScaleType(ImageView.ScaleType.
CENTER_INSIDE);
audiolibroTextView.setText(bookInfo.name);
return view;
}
}

Diseo avanzado de interfaces de usuario


public static void inicializarVector() {
bookVector = new Vector<BookInfo>();
bookVector.add(new BookInfo("Kappa",
"Akutagawa", R.drawable.kappa,
"http://www.leemp3.com/leemp3/1/Kappa_akutag
awa.mp3"));
bookVector.add(new BookInfo("Avecilla", "Alas
Clarn, Leopoldo",
R.drawable.avecilla,
"http://www.leemp3.com/leemp3/Avecilla_alas.mp
3"));
bookVector.add(new BookInfo("Divina Comedia",
"Dante",
R.drawable.divinacomedia,
"http://www.leemp3.com/leemp3/8/Divina%20Co
media_alighier.mp3"));
bookVector.add(new BookInfo("Viejo Pancho,
El",
"Alonso y Trelles, Jos",
R.drawable.viejo_pancho,
"http://www.leemp3.com/leemp3/1/viejo_pancho_
trelles.mp3"));
bookVector.add(new BookInfo("Cancin de
Rolando", "Annimo",
R.drawable.cancion_rolando,
"http://www.leemp3.com/leemp3/1/Cancion%20d
e%20Rolando_ anonimo.mp3"));

bookVector.add(new BookInfo("Matrimonio de
sabuesos","Agata Christie",
R.drawable.matrimonio_sabuesos,
"http://www.dcomg.upv.es/~jtomas/android/audiol
ibros/
01.%20Matrimonio%20De%20Sabuesos.mp3"));
bookVector.add(new BookInfo("La
iliada","Homero",
R.drawable.iliada,
"http://www.dcomg.upv.es/~jtomas/android/audiol
ibros/la-iliada- homero184950.mp3"));
}
public class BookInfo {
public String name;
public String autor;
public int resourceImage;
public String url;
public BookInfo(String name, String autor, int
resourceImage, String url) {
this.name = name;
this.autor = autor;
this.resourceImage = resourceImage;
this.url = url;
}
}
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/r
es/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"

android:layout_alignBottom="@+id/imageView1"
android:layout_alignParentLeft="true"
android:layout_marginBottom="-21dp"
android:src="@drawable/sombra0" />
<ImageView
android:id="@id/imageView1"
android:layout_width="120dp"
android:layout_height="180dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_margin="12dp"
android:src="@drawable/books" />
<TextView
android:id="@+id/titulo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@id/imageView1"
android:gravity="center"
android:lines="2"
android:text="TextView"
android:textSize="18dp" />
</RelativeLayout>
Preguntas de repaso: GridView.

También podría gustarte