一、ScrollView + GridView
在ScrollView中放置GridView,无论GridView的高度是设置 wrap_content,还是 match_parent,最终渲染时GridView都会发生形变,原因是 ScrollView 不能正确算出 GridView 的实际显示高度。
解决方法有两个:
- 设定GridView 高度的dp值,同时也可配合使用 values/dimens.xml 进行适配,缺点是适配难度大,不灵活,而且 GridView 的 Adapter 中的 convertView 可能不再重用(GridView不能滚动),导致需要调整 getView 的代码。
- 重写GridView 计算高度的方法:
public class CanInScrollGridView extends GridView { public CanInScrollGridView(Context context) { super(context); } public CanInScrollGridView(Context context, AttributeSet attrs) { super(context, attrs); } public CanInScrollGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // Calculate entire height by providing a very large height hint. // View.MEASURED_SIZE_MASK represents the largest height possible. int expandSpec = MeasureSpec.makeMeasureSpec(MEASURED_SIZE_MASK, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); ViewGroup.LayoutParams params = getLayoutParams(); params.height = getMeasuredHeight(); //获取实际的显示高度 } }
二、GridView实现伪“瀑布流”
Github上的牛人项目:https://github.com/maurycyw/StaggeredGridView
StaggeredGridView本质上并不是GridView的派生,不过它实现GirdView的功能、并对其进行了扩展,可以使得列表的项目不对称显示,如下图:
相关推荐
GridView嵌套应用实例GridView嵌套应用实例GridView嵌套应用实例GridView嵌套应用实例GridView嵌套应用实例GridView嵌套应用实例
c#的gridview应用c#的gridview应用c#的gridview应用c#的gridview应用c#的gridview应用
GridView 高级扩展应用
gridview应用gridvgrgridview应用idview应用iew应用gridview应用gridview应用
C#gridview控件的应用实例,附完整源代码
Gridview的初步应用 删除/更新/撤销/编辑/绑定/翻页 自己做的例子 里面有数据库可以跑
实现了asp.net中GridView控件的嵌套应用
类似于手机桌面实现滑动。通过ViewPager来实现。每个viewpager中又有GridView嵌套
关于C# .net中Gridview控件的全部应用,如分页,导出导入Excel,排序,数据的增删改查,备份等操作,很实用的源码哦
Dialog嵌套GridView显示系统已安装的应用程序,并能打开对应应用程序。
Android中ViewPager Fragment GridView的混合应用.pdf
GridView控件应用9个经典实例 经典 实用 便于初学和高手学习 通俗易懂 C# 代码
GridView的各种高级应用代码实例,Gridview的全选与批量删除,导出数据到Excel等
GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...
gridview的一些应用应用经验gridview的一些应用应用经验gridview的一些应用应用经验
该实例关于如何实现GridView编辑、插入、更新、删除、换页、排序等功能。使用两个方法,一种是DataInMemory另一种是DataFromDatabase。
GridView添加数据源和ListView也是SimpleAdpater 在数据源适配器知识点上面,我们可以自己定义一个数据源适配器,要继承BaseAdapter,实现getView的方法 画廊控件:gallery imageswitch HorizontalScrollView,在一个...
Asp。net中GridView基础应用曾删改查。