博客
关于我
Android--grideview列表,附带图标显示消息数量
阅读量:510 次
发布时间:2019-03-07

本文共 2162 字,大约阅读时间需要 7 分钟。

GridView(网格视图)是Android中按照行列方式展示内容的常用控件,特别适合显示图片、文字等内容,常见应用包括实现九宫格、四宫格等网格布局。GridView控件功能强大,且易于配置,能够满足多种显示需求。

Gridview的核心属性配置如下:

  • columnWidth:设置单列宽度。
  • gravity:设置内容在控件内的对齐方式,可选值包括topbottomleftrightcenter_verticalfill_verticalcenter_horizontalfill_horizontalcenterfillclip_vertical等,可用|分隔多选。
  • horizontalSpacing:设定列与列之间的水平间距。
  • numColumns:指定列数,默认根据布局确定。
  • stretchMode:设置内容缩放模式。
  • verticalSpacing:设定行与行之间的垂直间距。

从设计效果来看,GridView能够通过设置不同的列数、间距等属性,实现各种网格布局,如四宫格、九宫格等视觉效果。代码示例中,主布局中仅需定义一个GridView控件即可使用。

适配器为GridView提供数据源与布局渲染功能。需要定义一个继承自SimpleAdapter的类,实现数据获取与布局映射。在getView方法中,获取单元格数据并绘制到对应的布局中。例如,demo示例中使用linearlayout作为单元格布局,包含图片和文字展示。

在代码中,GridView控件需要设置适配器,通过setAdapter方法绑定适配器实例。点击事件可以通过setItemClickListener注册,触发相应的动作。当需要显示更多数据时,可以考虑结合RecyclerViewSmartRefreshLayout等控件实现无限滚动或下拉刷新功能。

通用适配器框架代码示例如下:

public class FuncationGrideViewAdapter extends SimpleAdapter {    Context context;    ArrayList
> data; public FuncationGrideViewAdapter(Context context, ArrayList
> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); this.data = data; this.context = context; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(context); View convertView = inflater.inflate(R.layout.item_funcation, null); ViewHolder holder = new ViewHolder(); holder.imageview = (ImageView)convertView.findViewById(R.id.ItemImage); holder.text_title = (TextView)convertView.findViewById(R.id.ItemText); holder.text_count = (TextView)convertView.findViewById(R.id.count); Map
item = data.get(position); holder.imageview.setImageResource((Integer)item.get("ItemImage")); holder.text_title.setText((CharSequence)item.get("ItemText")); if (item.containsKey("Count") && ((Integer)item.get("Count")) != 0) { holder.text_count.setVisibility(View.VISIBLE); holder.text_count.setText((Integer)item.get("Count") + ""); } return convertView; }}

典型使用场景是多图库或分类信息的浏览展示,需结合具体的数据源和布局需求进行适配。

转载地址:http://ptpjz.baihongyu.com/

你可能感兴趣的文章
Openlayers实战:绘制图形,导出geojson文件
查看>>
Openlayers实战:绘制图形,导出KML文件
查看>>
Openlayers实战:绘制多边形,导出CSV文件
查看>>
Openlayers实战:绘制带箭头的线
查看>>
Openlayers实战:绘制矩形,正方形,正六边形
查看>>
Openlayers实战:自定义放大缩小,显示zoom等级
查看>>
Openlayers实战:自定义版权属性信息
查看>>
Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
查看>>
Openlayers实战:选择feature,列表滑动,定位到相应的列表位置
查看>>
Openlayers实战:非4326,3857的投影
查看>>
Openlayers高级交互(1/20): 控制功能综合展示(版权、坐标显示、放缩、比例尺、测量等)
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
查看>>
Openlayers高级交互(12/20):利用高德逆地理编码,点击位置,显示坐标和地址
查看>>
Openlayers高级交互(13/20):选择左右两部分的地图内容,横向卷帘
查看>>
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
查看>>
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
查看>>