2011-10-27 14 views
22
  • público static final int listPreferredItemHeight

Ok, por supuesto i entender esta parte de la expresión ... listPreferredItemHeight es la altura de lista de elementos preferido.what? Android: attr/listPreferredItemHeight está haciendo y cómo?

Pero realmente no consigo estas cosas ... y Google no me ayudó. ¿Alguien puede indicarme la dirección correcta donde puedo leer sobre eso?

Esto también puede ser una referencia a un recurso (en forma "@ [paquete:] tipo: nombre") o atributo tema (en forma "? [Paquete:] [tipo:] nombre ") que contiene un valor de este tipo.

el ejemplo donde encuentro este código es aquí http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html

thnx por adelantado

EDIT: en el ejemplo en el enlace del código es androide: layout_height = "android:? Attr/listPreferredItemHeight ". ¿Qué significa exactamente?

Respuesta

59

El marcador "?" significa que te estás refiriendo a un atributo de estilo. Entonces, ?android:attr/listPreferredItemHeight simplemente significa "use el valor definido por el atributo llamado listPreferredItemHeight en el espacio de nombres android".

Este atributo y su valor son parte del marco de Android, de ahí el espacio de nombres "android".

+1

¿Cómo puedo encontrar el valor listPreferredItemHeigh? –

+2

Google it ... Está en R.attr en el sitio web de Android. – jQwierdy

+4

Esto devolverá el valor: TypedValue typedValue = new TypedValue(); \t \t getActivity(). GetTheme(). ResolveAttribute (android.R.attr.listPreferredItemHeight, typedValue, true); \t \t DisplayMetrics metrics = new android.util.DisplayMetrics(); \t \t getActivity(). GetWindowManager(). GetDefaultDisplay(). GetMetrics (metrics); \t \t return (int) typedValue.getDimension (métricas); – d2vid

5

android:layout_height="?android:attr/listPreferredItemHeight"

?[<package_name>:][<resource_type>/]<resource_name> tomada desde Referencing Styles.

El ? se utiliza para hacer referencia a los atributos de estilo, mientras que el aspecto más familiar @ se usa para recursos normales.

Valores de referencia de recursos de atributos de estilo en el tema aplicado actualmente. Entonces los valores pueden diferir entre diferentes temas.

El valor de listPrefferedItemHeight, que se encuentra en el paquete de Android del tema aplicado actualmente se devuelve a android:layout_height. El tipo de recurso attr en la línea del código anterior es opcional y se puede omitir. Por lo tanto, lo siguiente también es correcta:

?android:listPreferredItemHeight

Cuestiones relacionadas