自定义列表框

本章将为大家讲解如何在安卓开发中自定义两种常见的列表框、分别为条形列表框、和宫格列表框。

  • 普通列表框

  • 宫格列表框

普通列表框

按照行显示内容的列表框、我们需要使用 列表框 组件、该列表框可以显示多行内容、且继承自安卓原生类的: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中搜索”自定义“关键字查看。