Подтвердить что ты не робот

Android - Gridview или listview?

Как создать такой вид в приложении? (Снимок экрана - это приложение для Android, доступное на рынке Android).

enter image description here

Я запутался, так как предполагаю, что мы можем создать такой же макет либо с помощью Gridview, либо с помощью ListView.

Проблемы:

  • В Gridview можно выделить разделитель между двумя строками? можем ли мы дать фон каждой строке в gridview?
  • В Listview, я думаю, мы можем настроить listview с тремя книгами в ряд с фоном, и мы также можем предоставить разделитель.

С вашей стороны, пожалуйста, предложите мне возможное решение для разработки и создания тех же макетов для приложения для Android.

4b9b3361

Ответ 1

Посмотрите на код Shelves, написанный Роменом Гаем (одним из создателей ListView).

Он использовал GridView:

  • нет разделителя

  • background - это растровое изображение

    < битовая карта XMLNS: андроид = "http://schemas.android.com/apk/res/android"     андроид: src= "@вытяжка/shelf_panel"     android: tileMode = "repeat" /" >

  • фоновое изображение выглядит следующим образом:

Код стоит посмотреть, потому что он содержит и другие интересные решения.

Ответ 2

Заданные проблемы:
В Gridview можно дать разделитель между двумя строками? можем ли мы дать фон каждой строке в gridview?

Ну, вы всегда можете создать разделитель, добавив что-то в нижней части вашего представления. Сделайте так, чтобы он "соединялся" по сторонам, и вы не узнаете разницу. Это будет стоить вам дополнительного представления за элемент сетки, поэтому, вероятно, это не самый лучший вариант.

В Listview, я думаю, мы можем настроить listview с 3 книгами в ряд с фоном, и мы также можем предоставить разделитель.

Eeuhm, да, хотя я не понимаю, в чем проблема?

Ответ 3

С ListView каждая строка подсчитывается как элемент, поэтому в логике будет дополнительная работа, которая удерживает каждый элемент в строке отдельно. Я предлагаю вам использовать gridview. Для каждого элемента сетки держите пустую полку (для одной книги) в качестве фонового изображения. Это изображение будет содержать полку. Таким образом, нет необходимости в дополнительных рядах. Изображение должно выглядеть так:

Grid Element Background

Ответ 4

Вместо этого я предложил бы иметь вид сетки и флиппер, если количество книг ограничено.

Просмотр флиппера даст лучший эффект, чем прокрутка.