2011-10-27 15 views
22
  • public static final int listPreferredItemHeight

Ok, oczywiście rozumiem tę część wypowiedzi ... listPreferredItemHeight jest preferowana wysokość elementu listy.co? Android: attr/listPreferredItemHeight robi i jak?

Ale naprawdę nie dostaję tych rzeczy ... i google nie pomogło. Czy ktoś może wskazać mi właściwy kierunek, w którym mogę o tym przeczytać?

ten może być również odniesienie do zasobu (w postaci „@ [pakiet:] typ: Nazwa”) lub atrybut motyw (w postaci „? [Opakowaniu:] [Typ:] Nazwa ") zawierający wartość tego typu.

przykład gdzie mogę znaleźć ten kod jest tutaj http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html

thnx w zaawansowanej

EDIT: na przykład w linku kod jest android: layout_height = "android: atr/listPreferredItemHeight ". Co to dokładnie oznacza?

Odpowiedz

59

Znacznik "?" oznacza, że ​​odnosisz się do atrybutu stylu. Tak więc ?android:attr/listPreferredItemHeight po prostu oznacza "użyj wartości zdefiniowanej przez atrybut nazwany listPreferredItemHeight w Androidzie przestrzeni nazw."

Ten atrybut i jego wartość stanowią część systemu Android, stąd też "androidowa" przestrzeń nazw.

+1

Jak mogę znaleźć wartość listPreferredItemHeigh? –

+2

Google it ... Jego w R.attr na stronie Android. – jQwierdy

+4

Zostanie zwrócona wartość: TypedValue typedValue = new TypedValue(); \t \t getActivity(). GetTheme(). ResolveAttribute (android.R.attr.listPreferredItemHeight, typedValue, true); \t \t Metryki DisplayMetrics = nowy android.util.DisplayMetrics(); \t getActivity(). GetWindowManager(). GetDefaultDisplay(). GetMetrics (metryki); \t \t return (int) typedValue.getDimension (metry); – d2vid

5

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

?[<package_name>:][<resource_type>/]<resource_name> zaczerpnięte z Referencing Styles.

Parametr ? służy do odwoływania się do atrybutów stylu, w przypadku gdy dla normalnych zasobów używany jest bardziej znajomy model @.

Podaj wartości odniesień zasobów atrybutów w aktualnie stosowanym motywie. Więc wartości mogą się różnić między różnymi tematami.

Wartość listPrefferedItemHeight, znaleziona w pakiecie systemu Android aktualnie stosowanej kompozycji, jest zwracana do android:layout_height. Typ zasobu attr w powyższym kodzie jest opcjonalny i można go pominąć. W związku z tym następuje również poprawne:

?android:listPreferredItemHeight