Подтвердить что ты не робот

Что? 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". Что именно это означает?

4b9b3361

Ответ 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