¿Puede alguien explicarme la etiqueta XML declarable en este ejemplo y la teoría detrás de su uso?
Estoy leyendo Beginning Android 4 Development y en el capítulo 5 se habla deGalería yImageVievs y presenta eldeclarar-styleable Etiqueta XML sin explicar su propósito. Traté de encontrar información también en la referencia, sin suerte. Por ejemplo, tenemos lo siguiente:
res / values / attrs.xml
<?xml version=”1.0” encoding=”utf-8”?>
<resources>
<declare-styleable name=”Gallery1”>
<attr name=”android:galleryItemBackground” />
</declare-styleable>
</resources>
example.java
public class GalleryActivity extends Activity {
[...]
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter(this));
[...]
}
[...]
public class ImageAdapter extends BaseAdapter {
[...]
int itemBackground;
public ImageAdapter(Context c) {
context = c;
//---setting the style---
TypedArray a = obtainStyledAttributes(
R.styleable.Gallery1);
itemBackground = a.getResourceId(
R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
[...]
imageView.setBackgroundResource(itemBackground);
return imageView;
}
}
}
He leído el código varias veces y realmente no entiendo el propósito de definir este estiloGaleria1 con una solaattr niño solo con unnombre atributo .. me puedes ayudar? Es estogaleríaItemBackground ¿Algo proporcionado por el sistema o es algo definido por nosotros? ¿Qué estamos haciendo en este código?
¡Gracias de antemano por cualquier ayuda!