Android初级之组件基础08-GridView

Matlab图里面的多列legend显示 Matlab图里面的多列legend显示 写文章的时候发现图里面的数据项太多,使用单行的legend会遮住部分数据,legend字调小了又看不太清,就用了下legend这个property。 在Matlab 2018里面的help文档里面搜下Legend Properties,关注两个属性NumColumnsMode和NumColumns就行了,下面是我的legend代码: legend({'2.... 阅读详情
GridView,顾名思义,就是一个以网格形式展示出来的可滚动的视图组件,最典型的应用就是经常见到的九宫图。GridView的条目是通过关联一个ListAdapter来实现的。

一、常用属性及方法
android:gravity
设置此组件中的内容在组件中的位置。关联的方法为 setGravity (int)。

android:numColumns、android:columnWidth
列数、列的宽度,关联的方法分别为:setNumColumns(int)、setColumnWidth(int)(以像素为单位)。
当不设置numColumns属性时,该属性默认为AUTO_FIT(即自动适应)。

android:horizontalSpacing、android:verticalSpacing
两列之间的间距、两行之间的间距,关联方法分别为setHorizontalSpacing(int)、setVerticalSpacing(int)

android:stretchMode
缩放模式,关联方法为setStretchMode(int)。stretchMode可以选值:
NO_STRETCH 

STRETCH_SPACING 

STRETCH_SPACING_UNIFORM 

STRETCH_COLUMN_WIDTH 


二、GridView的使用
首先,我们在布局文件对GridView进行定义,并将布局文件命名为base_gridview.xml:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/grdBase"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="90dp"
    android:stretchMode="columnWidth"
    android:gravity="center"/>

接着,我们定义GridView的Item布局文件,将其命名为base_gridview_item:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
         xmlns:android="http://schemas.android.com/apk/res/android" 
         android:layout_height="wrap_content" android:layout_width="fill_parent">
         <ImageView android:id="@+id/ItemImage" 
               android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_centerHorizontal="true"/>
         <TextView android:id="@+id/ItemText"
               android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" 
               android:layout_below="@+id/ItemImage" android:text="TextView01"/>
</RelativeLayout>

在GridView中,我们在每个单元格都显示一张图片跟一行文字。
最后,我们通过Adapter为GridView绑定数据。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;
import cn.youtous.R;


public class BaseGridView extends Activity {
	private GridView grdBase;
	private List<HashMap<String,Object>> mGrdData;


	private void initGridViewData(){
		mGrdData = new ArrayList<HashMap<String, Object>>();
		for(int i=0;i<this.mImages.length;i++){
			HashMap<String, Object> map = new HashMap<String, Object>();
			map.put("ItemImage", mImages[i]);
			map.put("ItemText", mTexts[i]);
			mGrdData.add(map);
		}
	}
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.base_gridview);
		GridView grd = (GridView)findViewById(R.id.grdBase);
		this.initGridViewData();
		SimpleAdapter adapter = new SimpleAdapter(this, 
				mGrdData, 
				R.layout.base_gridview_item, 
				new String[]{"ItemImage","ItemText"},
				new int[]{R.id.imgBaseGridViewItem,R.id.tvwBaseGridViewItem});
		grd.setAdapter(adapter);
		grd.setOnItemClickListener(new GrdBaseItemClickListener());
	}
	
	class GrdBaseItemClickListener implements OnItemClickListener{
		@Override
		public void onItemClick(AdapterView<?> arg0, View arg1, int position ,
				long id) {
			
		}		
	}
	
	private int[] mImages = {
		R.drawable.carlogo_52design_01, R.drawable.carlogo_52design_06, R.drawable.carlogo_52design_09,
		R.drawable.carlogo_52design_12, R.drawable.carlogo_52design_19, R.drawable.carlogo_52design_21,
		R.drawable.carlogo_52design_27,
		R.drawable.carlogo_52design_29, R.drawable.carlogo_52design_31, R.drawable.carlogo_52design_32,
		R.drawable.carlogo_52design_34, R.drawable.carlogo_52design_36, R.drawable.carlogo_52design_37
	};
	
	private String[] mTexts = {
		"本田","起亚","雷克萨斯",
		"马自达","日产","标致",
		"斯柯达",
		"丰田","大众","沃尔沃",
		"奥迪","宝马","别克"
	};


}




android基础控件(4)GridView实现网格视图 1. GridView 1.1 activity_main <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <GridView android:layout_width="match_parent" android:layout_height="match_parent" android:id 阅读详情

相关推荐

微弱电流检测放大器PCB布线布局设计

微弱电流检测放大器PCB布线布局设计的注意事项,保护环的概念和相关设计。

ydgd118的博客 1万+

android:numcolumns="2",Android App中实现图片异步加载的实例分享

一、概述一般大量图片的加载,比如GridView实现手机的相册功能,一般会用到LruCache,线程池,任务队列等;那么异步消息处理可以用哪呢?1、用于UI线程当Bitmap加载完成后更新ImageView2、在图片加载类初始化时,我们会在一个子线程中维护一个Loop实例,当然子线程中也就有了MessageQueue,Looper会一直在那loop停着等待消息的到达,当有消息到达时,从任务队列按照...

weixin_29745609的博客 537

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景

大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 2470

MATLAB 图例

创建图例-legend函数、自定义图例-text函数 、位置-Location、大小-Location、其他属性-TextColor、FontSize。 高级技巧,定义图例项标识-DisplayName、多列图例-NumColumns、隐藏特定数据系列-HandleVisibility 、自动更新图例-AutoUpdate 、LaTeX 表达式-Interpreter

L_1275403750的博客 1万+

【学习记录】IIC驱动ICM42670+卡尔曼滤波+四元数姿态角解算

ICM42670陀螺仪可以使用iic驱动,单片机平台使用GD32f305VE。

liarsup的博客 8269

多期DID实战指南:从CSDID原理到分组加权策略

本文深入解析多期DID(CSDID方法)在政策评估中的实战应用,从核心思想到分组加权策略全面讲解。通过电商扶贫等案例,详细演示如何正确处理分批实施政策的数据分析,包括分组拆解、子模块DID操作及加权平均选择,帮助研究者规避常见误区,提升政策评估的准确性。

weixin_26833503的博客 524

android:numcolumns="2",Android GridView的android:numColumns =“auto_fit”总是只创建两列

您好我正在开发小型Android应用程序,我想显示简单的gridview与一些elements.Its正常工作。唯一的问题是,即使有空间,它总是只显示两列。它将屏幕平分为2列,只显示两个元素。如果我将列数设置为数字,即不是auto_fit,则显示正确。我的代码如下所示:Android GridView的android:numColumns =“auto_fit”总是只创建两列xmlns:tools...

weixin_32211137的博客 953

PWM调节DCDC参数计算原理

SOC芯片的核电压、GPU电压、NPU电压、GPU电压等,都会根据性能和实际应用场景来进行电压和频率的调整。 即动态电压频率调整DVFS(Dynamic Voltage and Frequency scaling),优化性能和功耗。

电子绿洲的博客 3163

Android GridView属性

一Android GridView属性 android:numColumns=”auto_fit”      GridView的列数设置为自动 android:columnWidth=”90dp "  每列的宽度,也就是Item的宽度 android:stretchMode=”columnWidth"    缩放与列宽大小同步 android:verticalSpacing=”

lostinai的专栏 5224

opencode 完全指南:终端AI编程助手的安装、模型配置与实战

在AI编程助手快速迭代的当下,开发者对终端环境下的自动化编码需求愈发强烈。以自然语言驱动代码修改、命令执行与测试验证,已成为提升工程效率的重要方向。这类工具普遍遵循模型无关的设计原则,通过兼容OpenAI格式的接口接入多种大模型,并借助多会话管理、Skills、Memory等机制实现可审查、可干预的闭环流程。从安装配置到日常使用,再到apihub网关与免费模型的接入,终端AI助手在代码审查、跨文件重构、浏览器自动化验证等场景中展现出独特价值。本文聚焦opencode这一开源CLI工具,详细拆解其核心定位、模

weixin_33868027的博客 418

OLED的字模提取(保姆级)---基于PCtoLCD2013

做为一个刚刚开始接触编程不久的白菜,这个OLED想做一个信息显示,可是商家给我的例程里就是88,816两种字体的格式,我的屏幕是0.91寸的8*16的字体显示上感觉特别丢丢儿小,我就想整个大的,哎,只怪直接学习习惯不好,总是学一半,绕了好大一圈,才搞好,想写一篇博客,时刻提醒踏实学习,第一次写博客,小白一枚,勿喷。。 OLED屏幕驱动程序功能 我们对Markdown编辑器进行了一些功能拓展与语法支...

qq_44886611的博客 7781

Android常用控件之GridView使用BaseAdapter

我们可以为GridView添加自定义的Adapter,首先看下用自定义Adapter的显示效果 在布局文件main.xml文件中定义一个GridView控件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.androi

DMT专栏 2万+

Code Ocean 上传代码 手把手教程

对于一些学术期刊,录用前会让把代码上传到Code Ocean上,但上传过程可能会遇到一些问题,小编分享一下自己的上传经验。他们会进行验证,验证通过,将自动发布。点此运行即可,但是运行比较慢。

u014071947的博客 1万+

网格视图组件GridView 简述及其简单应用

网格视图组件Gridview 一般用于新闻列表、图片九宫格、OQ相册等等,以行列的形式来展示的。一般是通过适配器作为中介将数据展示在组件上。属性有: numColumn: 4有四列,auto fit自动排列。 适配器: AtrayAdapter:数组适配器,将数组中的多个值作为数据源(数据库),一般用于显示文字。 SimpleAdapter:简单适配器,将List 集合里的多个值作为数据源,可以自定义各种效果,功能强大的内 simplecursorAdapter:将数据库内容作为数据源。 baseAdapt

AZLAWW的博客 2971

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Android学习笔记(十七):高级UI组件----图像类组件(网格视图GridView)

图像类组件(网格视图GridView) 网格视图:按照行列的方式来显示多个组件,通常用来显示图片或图标。 在activity_main.xml文件中,用GridView标签来定义网格视图: 属性: android:layout_width和android:layout_height :取值为match_parent,即与父容器相同。 android:numColumns :设置网格的列数...

weixin_44480874的博客 616

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

android gridview滑动监听,Android GridView 滑动条设置一直显示状态(推荐)

Android GridView 滑动条设置一直显示状态(推荐)模拟GridView控件:android:id="@+id/picture_grid"android:layout_width="match_parent"android:layout_height="match_parent"android:columnWidth="100dp"android:numColumns="auto_fi...

weixin_42449311的博客 513

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android常用控件之GridView的使用

GridView是按照行列的方式来显示内容,一般是用来显示图片; 下面这张图就是用GridView实现的 首先定义布局文件main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/llayout" android:layou

DMT专栏 1865

Android开发——控件基础(八)GridView组件:属性、示例代码、创建思路

网格组件例子(图片): 重要属性 android:numColumns=”auto_fit” //GridView的列数设置为自动 android:verticalSpacing=”10dp” //两行之间的边距 android:horizontalSpacing=”10dp” //两列之间的边距 android:columnWidth=”90d...

奔跑的狮子 507

详解android gridview实现九宫格

GridView跟ListView都是比较常用的多控件布局,一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个ListAdapter和该组件进行关联,今天我们就简单的介绍如何使用GridView实现九宫图。 我们还是通过一个演示的示例来向大家说明gridview的一些常用做法 首先我们新建一个gridviewDemo的项目 main.xml里面添加了一个GirdView控件

hylT20的专栏 1012

android gridview 分组显示,GridView网格布局,ListView列表布局

编写代码GridView网格布局用了BaseAdapter基础适配器新建一个java自动生成xml主java里面打:package com.example.palace;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import a...

weixin_42318727的博客 661

Android下ListView内嵌横向Gridview

几点关键点. 1.横向Gridview public class HorizontalGridView extends GridView{ public HorizontalGridView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void on

shineforZnine 554

Android 网格视图GridView

1、xml使用 <GridView android:id="@+id/gridView" android:layout_width="match_parent" android:layout_height="match_parent" android:columnWidth="100dp" android:gravity="center" android:numColumns="auto_fit"

小小的熊的博客 529

android中listview,gridview加载图片的线程并发解决方案

如何处理listview的下载图片时候多线程并发问题,我这里参考了一些网络的资源和项目,总结了一下。希望能对有这些方面疑惑的朋友有所帮助。(listview和gridview,viewpager同一个道理,大家举一反三)。                这里涉及到三个知识点: 1、通过网络下载图片资源。                 2、异步任务显示在UI线程上。            

Avenleft的专栏 1715

android的adapter控件在哪,Android常用控件之GridView使用BaseAdapter

我们可以为GridView添加自定义的Adapter,首先看下用自定义Adapter的显示效果在布局文件main.xml文件中定义一个GridView控件xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:...

weixin_30199835的博客 461

Android GridView的使用

1. [代码][Java]代码    跳至[1][2][3][全屏预览] view source print? 01 package com.yarin.android.Examples_04_19; 02   03 import android.content.Contex

Iteam项目组 Smith&Wesson(史密斯威森) 759

android listView嵌套gridview的使用心得

http://my.oschina.net/u/1262457/blog/159875 在开发的过程中可能需要用到listview嵌套gridview的场景,但是在android中,不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动事件,导致只显示一到两行数据。那么就换一种思路,首先让子控件的内容全部显示出来,禁用了它的滚动。

iloveaman的专栏 1137
上一篇: Android初级之组件基础07-RadioButton/RadioGroup
下一篇: Android初级之组件基础09-Spinner
Eric1006
博客等级 码龄24年 59粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值