2016-12-30 16 views
0

Кто-нибудь знает, как реализовать шахматный вид сетки/макет, подобный экрану результатов в Google Image Search? См. Ниже изображение.Как создать шахматную сетку с строками равной высоты, например, Google Image Search?

Staggered grid view like Google Image Search Эта сетка имеет элементы с (почти) равной высотой. И он вертикально прокручивается. Это полезно для gridview с элементами в определенном порядке, например, отсортированными по дате публикации.

Визуально, в шахматном порядке с рядами с равной высотой, порядок предметов легче читать из-за легкого чтения слева направо.

Сравните это с шахматной сеткой с колонками равной ширины. См. Изображение ниже. Порядок элементов не легко читается (что в случае с этим сайтом не имеет значения). Так что это не то, что я ищу!

Pinterest masonry layout

В Android API documentation, я не могу найти ключ, как создать ступенчатую сетку в первой картинке выше. Во всех сообщениях, помеченных «Staggered Grid» и Android on Stack Overflow, я не могу найти ответ.

Так что мой вопрос: как выполнить эту ступенчатую сетку с:

  • строкой одинаковой высоты, и
  • вертикально прокручиваются?
+0

Посещать> https://guides.codepath.com/android/using-the-recyclerview#layouts –

+1

То, что вы описываете * раскладка *. Ниже приведен пример диспетчера компоновки потоков для 'RecyclerView': https://github.com/ApmeM/android-flowlayout –

+0

@VivekSolanki: Спасибо. На этой веб-странице представлено стандартное использование ступенчатой ​​сетки. Я не мог найти, как сделать вертикально прокручиваемую сетку, ориентированную по строкам. Или я что-то упустил? –

ответ

1

Android не предоставляет библиотеку по умолчанию для StaggeredGridView. Вы можете сделать это с помощью RecyclerView с помощью StaggeredGridLayoutManager (https://developer.android.com/reference/android/support/v7/widget/StaggeredGridLayoutManager.html), или вы можете использовать пользовательский library-com.etsy.android.grid.StaggeredGridView. Загрузите его с помощью вашего Gradle файла:

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'com.etsy.android.grid:library:x.x.x' 
} 

Для получения дополнительной информации посетите: http://www.technotalkative.com/lazy-productive-android-developer-part-6-staggered-gridview/