Próbuję podzielić stronę na trzy części. Chciałbym to zrobić w wartościach procentowych, ale nie jest to obsługiwane przez Androida. Zamiast tego muszę użyć android:layout_weight
. Ale trudno mi to zrozumieć i poprawić. Zwłaszcza, jak oblicza się rzeczywisty rozmiar. Czy istnieje sposób na uzyskanie wartości procentowej (0,100%) z poziomu android:layout_weight
?Android: próbując zrozumieć Androida: layout_weight
Przeanalizowałem kilka przypadków (patrz załączony zrzut ekranu), aby opisać problemy. Kolorowe pola są <LinearLayout>
z android:layout_height="fill_parent"
, ponieważ chcę, aby pełny ekran został podzielony między te.
Case 1
Ok, proste. Co <LinearLayout>
dostaje 33%.
Case 2
Ups ?! Pierwszy (żółty) <LinearLayout>
znika całkowicie? Czemu?
Case 3
Confused ponownie. Żółte <LinearLayout>
powróciło. Jednak dwa pierwsze <LinearLayout>
z cięższą wagą stają się mniejsze? Co się dzieje?
Case 4
mam absolutnie żadnego pojęcia, co matematyka za to wszystko.
Mark, zrobiłeś mój dzień. Nie możesz uwierzyć, ile czasu już spędziłem, próbując rozgryźć dziwne sprawy. I proste 'android: layout_height =" 0px "' rozwiązuje wszystko :-) – znq
Ustawienie width_ layoutu na "fill_parent" i layout_weight na wartość zmiennoprzecinkową jak "0.2", "0.75" również działa, w tym przypadku im mniejsza liczba, tym większy część przestrzeni zajmowanej przez element. Czy mógłbyś powiedzieć, czy jest to akceptowalny sposób robienia tego? – Yar