Задать вопрос

Как динамически отображать несколько ImageView в виде сетки, эффективно используя доступное пространство?

Во многих приложениях реализовано подобное отображение изображений. Когда в посте 1 изображение, оно использует всё доступное для неё место. В случае же если изображений больше, они делят место между собой в таком виде, как видно на скриншоте. Если изображение не соответствует размерам выделенного ей свободного места, оно обрезается:
android:scaleType="centerCrop"
Как можно добиться подобного эффекта?
s_1455095797_5315072_6474f671e9.jpg
ImageView добавляются в коде. Я пробовал использовать GridView как есть, однако мне не удалось добиться чтобы хотябы одно изображение использовало всё доступное ей место.
h_1455098125_1500586_067786e873.png
Layout:
<GridView
    android:id="@+id/grid_view_test"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchMode="columnWidth" />

Добавляемый ImageView:
imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setMaxHeight(200);
imageView.setAdjustViewBounds(true);
// Загрузка изображения и добавление в GridView

Какие виды использовать для этого? Существуют ли штатные методы? Может доступны сторонние библиотеки для этого? Заранее спасибо.
  • Вопрос задан
  • 650 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lomikman
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы