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()方法来显示上一个、下一个列表项。

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

 

 

 

 

目录
相关文章
|
4月前
|
Docker 容器
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
|
5月前
|
XML Java Android开发
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
Android Studio App开发中改造已有的控件实战(包括自定义支付宝月份选择器、给翻页栏添加新属性、不滚动的列表视图 附源码)
48 1
|
5月前
|
XML Java Android开发
Android Studio App开发之捕获屏幕的变更事件实战(包括竖屏与横屏切换,回到桌面与切换到任务列表)
Android Studio App开发之捕获屏幕的变更事件实战(包括竖屏与横屏切换,回到桌面与切换到任务列表)
43 0
|
17天前
|
容器
06-数据容器(序列列表-元组-字符串)的切片操作
06-数据容器(序列列表-元组-字符串)的切片操作
|
17天前
|
索引 容器
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数
|
5月前
|
XML Java Android开发
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
90 0
|
1月前
|
存储 缓存 Android开发
构建高效的Android应用:采用RecyclerView优化列表显示
【4月更文挑战第2天】 在移动开发领域,列表显示是最常见的用户界面组件之一。对于Android平台而言,RecyclerView因其高效、灵活的特点而备受开发者青睐。本文将深入探讨如何利用RecyclerView在Android应用中实现流畅的列表滚动,以及通过各种优化策略来提升性能和用户体验。我们将从基本概念出发,逐步展开如何自定义适配器、视图持有者,以及利用布局管理器来实现复杂的列表布局。此外,还将讨论如何通过异步加载、缓存机制和动态数据更新来进一步优化性能。
13 1
|
7月前
|
存储 索引 Python
【Python基础】Python数据容器(列表)
【Python基础】Python数据容器(列表)
43 0
|
3月前
|
存储 索引 Python
python数据容器之列表相关的操作
python数据容器之列表相关的操作
24 1
|
4月前
|
数据可视化 索引 Python
Python容器专题 - 列表(list)
Python容器专题 - 列表(list)
38 0