Android学习笔记(23):列表项的容器—AdapterView的子类们

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

AdapterView的子类的子类ListViewGridViewSpinnerGalleryAdapterViewFlipperStackView都是作为容器使用,Adapter负责提供各个列表项的内容。

 

 

1.列表视图ListViewListActivity

以垂直列表的形式显示列表项。

 

生成列表视图有如下两种方法:

(1).直接使用ListView

(2).Activity继承ListActivity

ListView支持的XML属性和相关方法:

Attribute Name

Related Method

Description

android:divider

 

设置List列表项的分隔条(颜色或Drawable

android:dividerHeight

 

设置分隔条的高度

android:entries

 

指定一个数组资源,用于填充列表的内容

android:footerDividersEnabled

 

设置为false,不在footer View前绘制分隔条

android:headerDividersEnabled

 

设置为false,不在header View后绘制分隔条

 

2.可展开的列表视图ExpandableListView

ExpandableListViewListView的子类,它把列表项分为几组,每组里包含多个列表项。

与其他列表视图不同的是:ExpandableListView的列表项应该由ExpandableListAdapter提供。

Adapter类似:ExpandableListAdapter也有三种常用方式:

(1).扩展BaseExpandableListAdapter实现ExpandableListAdapter

(2).使用SimpleExpandableListAdapter将两个List集合包装成ExpandableListAdapter

(3).使用SimpleCursorTreeAdapterCursor中的数据包装成SimpleCursorTreeAdapter

 

ExpandableListView支持的XML属性:

Attribute Name

Related Method

Description

android:childDivider

 

指定各组内子列表项之间的分隔条

android:childIndicator

 

显示在子列表项旁边的Drawable对象

android:groupIndicator

 

显示在组列表项旁边的Drawable对象

扩展BaseExpandableListAdapter实现ExpandableListAdapter的时候需要实现的4个方法:

getGroupCount():返回包含组列表项的数量

getGroupView():返回的View对象将作为组列表项

getChildrenCount():返回特定组包含的子列表项的数量

getChildView():返回的View对象将作为特定组、特定位置的子列表项

 

3.网格视图GridView

按行、列分布的方式显示多个组件。

 

GridView支持的XML属性和相关方法:

Attribute Name

Related Method

Description

android:columnWidth

setColumnWidth(int)

设置列的宽度

android:gravity

setGravity(int)

设置对齐方式

android:horizontalSpacing

setHorizontalSpacing(int)

设置各元素之间的水平间距

android:numColumns

setNumColumns(int)

设置列数

android:stretchMode

setStretchMode(int)

设置拉伸模式

android:verticalSpacing

setVerticalSpacing(int)

设置各元素之间的垂直间距

 

android:stretchMode:支持的属性:

NO_STRETCH:不拉伸

STRETCH_COLUMN_WIDTH:仅拉伸表格元素本身

STRETCH_SPACING:仅拉伸元素之间的间距

STRETCH_SPACING_UNIFORM:表格元素本身、元素之间的间距一起拉伸

 

4.列表选择框Spinner:

 

用下拉列表的形式显示列表项。

Spinner支持的XML属性和相关方法:

Attribute Name

Related Method

Description

android:dropDownHorizontalOffset

setDropDownHorizontalOffset(int)

设置选择框的水平偏移量

android:dropDownSelector

 

设定spinnerMode=”dropdown”时列表选择器的显示效果

android:dropDownVerticalOffset

setDropDownVerticalOffset(int)

设置选择框的垂直偏移量

android:dropDownWidth

setDropDownWidth(int)

设置选择框的宽度

android:gravity

setGravity(int)

设置对齐方式

android:popupBackground

setPopupBackgroundResource(int)

设置选择框的背景色

android:prompt

 

设置选择框的提示信息

android:spinnerMode

 

设置Spinner的显示模式

 

spinnerMode可选的属性:

dialog = 0:Spinner会被作为一个对口窗口来显示

dropdown = 1:Spinner会作为一个内嵌的下拉列表来显示

 

5.Gallery

显示一个水平的列表选择框,允许用户通过拖动来查看上一个、下一个。Android推荐使用HorizontalScrollView和ViewPager组件来代替Gallery。

 

6.AdapterViewFlipper

继承自AdapterViewAnimator,AdapterViewFlipper每次只能显示Adapter中的一个列表项,程序通过showPrevious()和showNext()方法来显示上一个、下一个列表项。组件切换时可以自动动画效果。还有startFlipper()方法用于自动播放下一个列表项。

AdapterViewAnimator支持的XML属性和相关方法:

Attribute Name

Related Method

Description

android:animateFirstView

 

设置显示第一个列表项时是否使用动画

android:inAnimation

 

设置组件显示时使用的动画

android:loopViews

 

设置循环到底是否转头到第一个列表项

android:outAnimation

 

设置组件隐藏时使用的动画

 

AdapterViewFlipper支持的XML属性和相关方法:

Attribute Name

Related Method

Description

android:autoStart

startFlipping()

设置该组件是否自动播放

android:flipInterval

setFlipInterval(int)

设置自动播放的时间间隔

 

7.StackView

继承自AdapterViewAnimator,StackView把列表项“堆叠”在一起,以这种方式显示列表项。程序通过showPrevious()和showNext()方法来显示上一个、下一个列表项。

列表项切换时出现的是堆叠一起的卡片会出现的动画效果。

 

 

 

 

目录
相关文章
|
3月前
|
Docker 容器
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
|
4月前
|
XML Java Android开发
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
42 1
|
4月前
|
XML Java Android开发
Android Studio App开发之捕获屏幕的变更事件实战(包括竖屏与横屏切换,回到桌面与切换到任务列表)
Android Studio App开发之捕获屏幕的变更事件实战(包括竖屏与横屏切换,回到桌面与切换到任务列表)
39 0
|
10天前
|
索引 容器
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
|
4月前
|
XML Java Android开发
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
89 0
|
6月前
|
存储 索引 Python
【Python基础】Python数据容器(列表)
【Python基础】Python数据容器(列表)
43 0
|
2月前
|
存储 索引 Python
python数据容器之列表相关的操作
python数据容器之列表相关的操作
24 1
|
3月前
|
数据可视化 索引 Python
Python容器专题 - 列表(list)
Python容器专题 - 列表(list)
38 0
|
8月前
|
存储 PyTorch 算法框架/工具
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
76 0
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
|
4月前
|
Kubernetes Docker 容器
Kubernetes学习笔记-Part.10 容器回退
Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退
47 0