2012-12-25 11 views
9

To pytanie zostało zadane wiele razy tutaj, bez uzyskiwania przydatnych odpowiedzi. Umieściłbym to tutaj z możliwą odpowiedzią. Możesz poprawić.Mistrzowska dzielona stylizacja w systemie Android

Pytanie: Jak skonfigurować popup jak styl widoku szczegółów, w obok siebie mistrz widoku szczegółów jak podkreślono w obrazek poniżej:

enter image description here

Odpowiedz

15

W tym rozwiązaniu użyłem 9- poprawianie obrazów tła, aby zdefiniować 2 rodzaje tła dla elementów listy. Tak, wybrany (zaznaczone) lista Element ma inne tło, jak pokazano na rysunku:

enter image description here (element listy)

enter image description here (wybrana pozycja)

enter image description here (element listy)

Lista Widok rodzica układu elementu, to klasa rozszerzająca LinearLayout (może być dowolna ViewGroup) i implementująca Checkable. W związku z tym, gdy ListView jest ustawiony na tryb wyboru, może automatycznie zaznaczyć/odznaczyć ten widok. Ten sprawdzony stan jest następnie wykorzystywany przez selector tle przypisanego do tego widoku:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:drawable="@drawable/checked"/> 
    <item android:drawable="@drawable/unchecked"/> 
</selector> 

To sprawia, że ​​tło elementu widoku listy zmieni się automatycznie, bez konieczności zrobić to ręcznie w kodzie każdym razem, gdy element listy jest zaznaczony.

Wynik:

enter image description here

Dodatkowe punkty:

  1. przewijania może zostać przeniesiony do lewej strony.
  2. Użyj dzielników list odpowiadających kolorowi cienia, lub więcej wypełnień można umieszczać między elementami listy i widokiem szczegółów.