自定义列表框
本章将为大家讲解如何在安卓开发中自定义两种常见的列表框、分别为条形列表框、和宫格列表框。
-
普通列表框
-
宫格列表框
普通列表框
按照行显示内容的列表框、我们需要使用 列表框 组件、该列表框可以显示多行内容、且继承自安卓原生类的:ListView 组件、以下为在 Simple 中演示如何自定义一个简单的文本列表框的代码演示:
变量 项目数据 为 集合
变量 列表框1 为 列表框
事件 按钮1.被单击(来源对象 为 视图)
项目数据 = 创建 集合()
项目数据.添加项目("项目1")
项目数据.添加项目("项目2")
项目数据.添加项目("项目3")
列表框1 = 创建 列表框()
列表框1.左边 = 0
列表框1.顶边 = 0
列表框1.高度 = 300
列表框1.宽度 = 取屏幕宽度()
添加组件(列表框1)
列表框1.初始化适配器(项目数据)
列表框1.置请求加载项目(&请求加载项目)
列表框1.置项目被单击回调(&项目被单击)
结束 事件
函数 请求加载项目(项目索引 为 整数型,项目根布局 为 视图)
'定义一个标签作为每个项目的内容组件、最终项目的内容将会显示到这个标签上面
变量 tv 为 标签
'布局缓存、详细说明请参阅例程
如果(项目根布局.标记 == 空)
tv = 创建 标签()
tv.字体颜色 = "#ff0088"
tv.置缩进(10,20,10,20)
tv.可停留焦点 = 假
项目根布局.标记 = tv
项目根布局.置视图(tv)
否则
tv = 项目根布局.标记
结束 如果
tv.标题 = 项目数据.取项目(项目索引)
结束 函数
函数 项目被单击(被单击列表框 为 视图,项目索引 为 整数型)
弹出提示("被点击的项目索引为:" + 项目索引)
结束 函数
宫格框
宫格框封装自 GridView 组件、与 ListView 在加载自定义项目时;操作方式一样;只不过在显示时、将会按照宫格形式显示数据;首先在窗口中添加一个宫格框组件、然后添加其 “请求加载项目” 的事件。
事件 按钮1.被单击(来源对象 为 视图)
变量 index = 0
项目数据 = 创建 集合()
计次循环(100,index)
项目数据.添加项目("项目" + index)
结束循环
宫格框1.列数 = 4
宫格框1.初始化适配器(项目数据)
宫格框1.置请求加载项目(&请求加载项目)
宫格框1.置项目被单击回调(&项目被单击)
结束 事件
事件 宫格框1.请求加载项目(索引 为 整数型,根视图 为 视图)
变量 rootLayout 为 线性布局
变量 img 为 图片框
变量 tv 为 标签
如果(根视图.标记 == 空)
rootLayout = 创建 线性布局()
rootLayout.布局方向 = 1
rootLayout.内容对齐方式 = 水平居中
img = 创建 图片框()
tv = 创建 标签()
sum = 创建 标签()
' 添加图片框及标签到列表框中
rootLayout.添加组件置权重(img,DP到PX(40),DP到PX(40),1)
rootLayout.添加组件置权重(tv,-1,-2,1)
' 设置初始值
tv.文本颜色 = "#ff0099"
tv.可停留焦点 = 假
tv.内容对齐方式 = 垂直水平居中
根视图.标记 = rootLayout
根视图.置视图(rootLayout)
否则
rootLayout = 根视图.标记
img = rootLayout.取子组件(0)
tv = rootLayout.取子组件(1)
结束 如果
tv.标题 = 项目数据.取项目(索引)
img.图片 = "vslogo.png"
结束 事件
事件 宫格框1.项目被单击(来源对象 为 视图,索引 为 整数型)
弹出提示("项目被单击:" + 索引)
结束 事件
演示APK下载
演示APK中对各种列表框及自带列表框组件都编写了功能演示;可以下载体验查看效果:列表框演示.APK
更多
更多例程源代码请下载IDE、在IDE中搜索”自定义“关键字查看。