Mat*_*ska 6 android gridview android-layout google-plus pinterest
我想在Android中构建一个异构网格小部件,就像用于平板电脑或Pinterest的Google+应用程序一样.我找不到任何教程,看起来特别困难.
不幸的是GridView
,当我想要获得不同尺寸的细胞时,只能有相同大小的细胞.你能指点我任何好的教程吗?我只知道我必须延伸AbsListView
.
根据物品高度的变化程度,您有以下几种选择:
如果您想要做一个GridView
具有多种高度变化的项目(例如 Pinterest),您应该使用StaggeredGridView - 据我所知,它是目前最好的开源解决方案。
在您发布的图像中,看起来好像存在具有可变高度子项的父行 - 这是一个稍微容易解决的问题,并且可以通过使用常规 ol'ListView
和BaseAdapter
. 对于这样的答案来说,为此编写代码太过复杂,但我将向您概述如何实现此效果。
BaseAdapter
提前确定每行的粗略布局,以便它可以向列表视图报告需要多少行 - 您需要覆盖getCount()
.getView()
你的适配器中,你将膨胀一个单一的LinearLayout
(或者可能使用convertView,如果它已被回收)并添加尽可能多的子项(再次,更多LinearLayouts
),因为你需要设备的宽度(你应该在运行时弄清楚这一点,除非您只想创建手机和平板电脑版本)。LinearLayout
都应设置为weight=1,以便它们拉伸到父行的整个宽度。在您发布的屏幕截图中,有 3 列(第三个 id 被截断)。LinearLayout
代表一列。您应该将它们的方向设置为垂直,因为它们是列! 归档时间: |
|
查看次数: |
797 次 |
最近记录: |