2012-06-27 13 views
10

Jak odtworzyć następujący widok za pomocą GridView.GridView z dynamiczną liczbą kolumn w każdym wierszu

enter image description here

Liczba pozycji na liście jest dynamiczna.

+3

mniejszy obraz byłby nice :) – WarrenFaith

+0

Nie sądzę, że GridView obsługuje różne kolumny, więc AFAIK musiałbyś "sfałszować", dzieląc obrazy na pół i ustawiając po jednej dla każdej kolumny dla wierszy, które mają być wyświetlane jako pojedyncza kolumna. Z ciekawości, dlaczego chciałbyś zrobić to z GridView zamiast RelativeLayout lub czegoś, co ułatwiłoby osiągnięcie pożądanego efektu. – FoamyGuy

+0

numer pozycji jest dynamiczny – Bytecode

Odpowiedz

2

Domyślam się, że to nie jest pojedynczy GridView, ale połączenie wielu układów. Wystarczy utworzyć LinearLayout i zdecydować, zgodnie z treścią, który układ chcesz mieć z rzędu.

+0

Szukam czegoś podobnego, ale z dużą liczbą elementów w wierszu: http://stackoverflow.com/questions/11981294/gridview-like-android-widget-with-variable- lengths/ Wadą korzystania z układu jest to, że podczas przewijania w dół bitmapy, które znikają z ekranu, nie mogą być gromadzone podczas zbierania śmieci. Chciałbym użyć zdolności 'GridView' do tego. – mparaz

+0

Możesz użyć ListView, aby odzyskać wiersze. – WarrenFaith

+0

Nie mogę użyć 'ListView', ponieważ moje' Widok' musi zawierać obrazy o różnych wysokościach. Wygląda na to, że będę musiał opracować własną kontrolę. – mparaz

0

Aby uzyskać układ można zobaczyć można użyć coś takiego:

<LinearLayout android:orientation="vertical"> 
    <!-- First row --> 
    <View /> 

    <!-- Second row --> 
    <LinearLayout android:orientation="horizontal" /> 

    <!-- Third row --> 
    <LinearLayout android:orientation="horizontal" /> 

    <!-- Fourth row --> 
    <View /> 

</LinearLayout> 

Jeśli chcesz również Paged efektu można użyć ViewPager

http://android-developers.blogspot.it/2011/08/horizontal-view-swiping-with-viewpager.html

Powiązane problemy