2012-11-18 7 views
18

Tak jak w większości przypadków wszyscy korzystaliśmy/widzieliśmy aplikację Google Plus.Kolumna z Androidem GridView, zmienna szerokość, taka jak GooglePlus App

Co mnie interesuje, to opracowany przez niego ColumnGridView, który nie tylko ma zmienną szerokość, ale także wysokość zmienną, wydaje się, że na podstawie zawartości z radością wskaże najlepszą przestrzeń dla CardView.

Kilka możliwych rozwiązań do replikacji tego, ale tylko naprawdę szuka najlepszych, które są oczywiście implementacją google.

  1. Tak można to osiągnąć za pomocą TableView - ale byłoby to słabe programowanie bez recyklera widoku.
  2. Moja własna niestandardowa implementacja, oparta na ListView/GridView - Nie niemożliwe, ale dużo pracy.
  3. Najlepiej użyj Google, który zakładam, jest taki sam dla Google Now/Plus, ponieważ działają one w ten sam sposób w oparciu o elementy stylu "Karty".

Czy ktoś się z tym zetknął?

Jakieś samouczki, przykłady, źródło, z którego mogę zacząć korzystać, aby zaoszczędzić mi trochę czasu?

Może nawet jakiś kierunek od facetów z Google, jak to jest obliczanie rozmiaru?

Google Plus

+0

Jestem prawie pewien, że kiedyś był w SDK lub bibliotece wsparcia. Pamiętam, że widziałem popełnione przez nich informacje o dodaniu, a następnie usunięciu. Będzie musiał przeszukać ... –

+0

@JakeWharton, ale klasa GridView nie obsługuje kolumn o zmiennej szerokości, prawda? Najprawdopodobniej włamali się do własnego specjalistycznego widoku. – LuxuryMode

+0

Dlatego powiedziałem "kiedyś było". Jak już powiedziałem, został on dodany, a następnie usunięty z publicznego interfejsu API. Sprawdzę logi, kiedy dostanę szansę. –

Odpowiedz

20

StaggeredGridView istnieją obecnie w folderze frameworks/ex/widgets/ z AOSP który wydaje się być to, co jest za pomocą Google+ (lub wariant niej prawdopodobne).

To miało być w najnowszym wydaniu biblioteki pomocniczej (r11), dopóki nie zostało cofnięte przez Katherine Kuan w b54e36f2 i przeniesione do eksperymentalnego repo.

+1

Wykonane demo na podstawie widoku tutaj: https://github.com/chrisjenx/StaggeredGridView –

+3

Chciałbym dodać, że wziąłem StaggeredGridView i dodano kilka brakujących funkcji (OnItemClickListener, OnItemLongClickListener, Selector, Prawidłowe przywrócenie pozycji). możesz to sprawdzić tutaj https://github.com/maurycyw/StaggeredGridView – Maurycy

+0

Istnieje również https://github.com/felipecsl/AsymmetricGridView Nie testowałem jeszcze żadnej z tych bibliotek. Jeśli ktoś ma z nimi doświadczenia, będę miał szczęście, aby o nich usłyszeć. – Janusz