Автоматические изображения GridView
im пытается получить изображения, отображаемые в GridView, и получить столбцы автоматически, пока мне нужно вручную установить количество столбцов, которые не то, что я хочу сделать, так как это повлияет на то, насколько велики изображения экраны различного размера. Я пробовал настроить его на auto_fit, но он отображает только 2 столбца в середине экрана. Это то, что я пытаюсь достичь: (Каждый красный квадрат представляет изображение)
![enter image description here]()
а затем, когда вы переходите в ландшафтный режим, я хочу, чтобы столбцы автоматически подходили так, чтобы все было четным.
Любая помощь будет очень признательна, спасибо:)
Ответы
Ответ 1
Экспериментируйте с атрибутами GridView, в частности android:numColumns="auto_fit"
и android:stretchMode
. Для меня работает следующее:
<GridView
android:id="@+id/myGrid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:columnWidth="60dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
Ответ 2
Я не уверен, почему кто-то проголосовал за мой ответ выше, поэтому я снова проголосовал за это: мне пришлось решить подобную проблему программно (с помощью GridView для пользователей ImageView). Некоторые коды удалены для ясности:
int iDisplayWidth = getResources().getDisplayMetrics().widthPixels ;
iImageWidth = iDisplayWidth
/ iNumberOfColumns ;
gridview.setColumnWidth( iImageWidth );
gridview.setStretchMode( GridView.NO_STRETCH ) ;
/* wrap_content in the xml file is supposed to do this, but it didn't seem to work */
С уважением,
Piesia
Ответ 3
Лучшим решением является измерение ширины программно, поэтому вы не получите строго кодированную ширину столбца:
Android: как GridView auto_fit находит количество столбцов?