GridView с различными размерами ячеек, стиль Launcher WP8

Проблема

Я хочу получить специальный пользовательский интерфейс, напоминающий пользовательский интерфейс Windows 8 Tiles, с ячейками разных размеров друг над другом.

Что-то вроде этого:

AABB
AACC
AADD
AADD

каждая буква представляет часть своей ячейки, поэтому ячейка A имеет размер 2x4, ячейки B и ячейки C занимают по 2x1 каждая, а ячейка D имеет размер 2x2.

Хорошим примером может служить Laucher 8.

Я не хочу использовать сетку.

Я использую GridView, и я не могу добиться вышеуказанного макета с помощью GridView.

Вопрос

1. I have a framelayout as the items in the adapter.
   Using Linear Layout instead of adapter supporting view will certainly 
   make it boring
   or
   May be I am wrong about Linear Layout.
2. Can such a layout be achieved through GridView.
3. How [Laucher 8][2]. is achieving that.

ИЗМЕНИТЬ

My problem was solved using https://github.com/lucasr/twoway-view/ . Google's
staggeredViewGridLayoutManager didn't help may be because I didn't found
it's good usage documentation and I was not able to layout the items in the 
Layout in my desired location.

person Mubin Shrestha    schedule 07.04.2015    source источник
comment
Я не хочу использовать сетку — почему? Если вы объясните, почему очевидный выбор — это то, чего вы не хотите, это поможет другим дать вам лучшие предложения. Можно ли добиться такого макета с помощью GridView. -- нет. GridView ячейки имеют одинаковый размер. Как [Laucher 8][1] достигает этого — используйте uiautomatorviewer и узнайте. Кроме того, то, о чем вы говорите, обычно называется шахматной сеткой, и ее можно создать, используя RecyclerView и различные библиотеки с открытым исходным кодом.   -  person CommonsWare    schedule 07.04.2015
comment
Спасибо @CommonWare. GridLayout - это очень новый макет, и я боюсь, что он не будет работать в старых версиях Android. Не знал об uianimatorViewer.   -  person Mubin Shrestha    schedule 07.04.2015
comment
GridLayout — это очень новый макет — он существует уже четыре года. Я боюсь, что он не будет работать в старых версиях Android - бэкпорт gridlayout-v7, поставляемый в пакете поддержки Android, работает с уровнем API 7, который охватывает более 99% активных устройств Android.   -  person CommonsWare    schedule 07.04.2015
comment
@CommansWare, где-то в Интернете я по ошибке прочитал, что Gridlayout поддерживает API 17. Плохо. Если я использую GridLayout, мне нужно будет определить каждую позицию и размер каждой плитки. Также я работаю с более чем 100 тайлами. Кроме того, мой уровень мобильного API ниже 16, поэтому я не смог использовать uiautomatorviewer. Но я понял идею.   -  person Mubin Shrestha    schedule 07.04.2015
comment
@ dberm22 нет, это не дубликат. Я не хочу, чтобы мой макет был похож на стиль Pinterest.   -  person Mubin Shrestha    schedule 07.04.2015
comment
@Computergodzilla Правда? Потому что вы скопировали и вставили большую часть его вопроса.   -  person dberm22    schedule 07.04.2015
comment
@ dbrem2, Да, я сделал. :). Многоразовость.. Но вопрос в другом. Спасибо. Я отредактирую свой вопрос.   -  person Mubin Shrestha    schedule 07.04.2015


Ответы (1)


Попробуйте взглянуть на StaggeredGridView. Это не совсем то, что вам нужно, но вы можете изменить его в соответствии со своими потребностями.

Также возможно, это стиль pinterest GridView

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

person dberm22    schedule 07.04.2015