Что? android: attr/listPreferredItemHeight делает и как?
- public static final int listPreferredItemHeight
Хорошо, конечно, я понимаю эту часть выражения... listPreferredItemHeight - предпочтительная высота элемента списка.
Но я действительно не получаю эти вещи... и Google не помог. Любой может указать мне в правильном направлении, где я могу прочитать об этом?
Это также может быть ссылка на ресурс (в форме "@[package:] type: name" ) или атрибут темы (в форме "? [package:] [type:] name" ), содержащий значение этого типа.
пример, где я нахожу этот код здесь http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html
thnx в расширенном
EDIT: в примере по ссылке код isroid: layout_height = "? android: attr/listPreferredItemHeight". Что именно это означает?
Ответы
Ответ 1
Маркер "?" означает, что вы ссылаетесь на атрибут стиля. Поэтому ?android:attr/listPreferredItemHeight
просто означает "использовать значение, определенное атрибутом listPreferredItemHeight в пространстве имен android."
Этот атрибут и его значение являются частью платформы Android, следовательно, пространство имен "android".
Ответ 2
android:layout_height=
"?android:attr/listPreferredItemHeight"
?[<package_name>:][<resource_type>/]<resource_name>
взято из Ссылка на стили.
?
используется для ссылки на атрибуты стиля, где, поскольку более привычный вид @
используется для нормальных ресурсов.
Значения атрибутов ресурсов атрибутов стиля в применяемой в настоящее время теме. Таким образом, значения могут различаться между различными темами.
Значение listPrefferedItemHeight
, найденное в пакете android текущей темы, возвращается android:layout_height
.
Тип ресурса attr
в строке вышеприведенного кода является необязательным и может быть опущен. Поэтому верно и следующее:
?android:listPreferredItemHeight