Android API 25 (Android 7.1.1 API)
AbsListView
public abstract class AbsListView
extends AdapterView<ListAdapter> implements TextWatcher, ViewTreeObserver.OnGlobalLayoutListener,
Filter.FilterListener, ViewTreeObserver.OnTouchModeChangeListener
Added in API level 1
java.lang.Object
↳android.view.View
↳android.view.ViewGroup
↳android.widget.AdapterView<android.widget.ListAdapter>
↳android.widget.AbsListView
已知直接子类:
GridView
ListView
【概述】
可用于实现项目的虚拟化列表的基类。列表在这里没有空间定义。例如,此类的子类可以在网格,轮播,堆栈等中显示列表的内容。
【嵌套类】
类 AbsListView.LayoutParams
AbsListView扩展LayoutParams以提供一个地方来保存视图类型。
接口 AbsListView.MultiChoiceModeListener
MultiChoiceModeListener接收CHOICE_MODE_MULTIPLE_MODAL的事件。
接口 AbsListView.OnScrollListener
滚动列表或网格时要调用的回调的接口定义。
接口 AbsListView.RecyclerListener
RecyclerListener用于在View被放置在RecycleBin的废料堆中时接收通知。
接口 AbsListView.SelectionBoundsAdjuster
列表项的顶级视图可以实现此接口,以允许自身修改为该项显示的选择的边界。
【XML属性】
android: cacheColorHint
API 1
属性说明:指示该列表总是在实心的单色不透明的背景下绘制。这允许列表优化其绘制过程。
必须是颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是cacheColorHint。
android: choiceMode
API 1
属性说明:定义view的多选操作模式。 应用程序将提供一个AbsListView.MultiChoiceModeListener使用
setMultiChoiceModeListener(AbsListView.MultiChoiceModeListener)来控制选择模式。 这使用ActionMode API。
必须为以下常量值之一:
none CHOICE_MODE_NONE 普通模式,默认模式,没有选择。
SingleChoice CHOICE_MODE_SINGLE 单选模式
multipleChoice CHOICE_MODE_MULTIPLE 多选模式
multipleChoiceModal CHOICE_MODE_MULTIPLE_MODAL 多选模式
对应的全局属性资源符号是choiceMode。
当singleChoice时,listview.getChechedItemPosition()有效。返回选中的item下标
当multipleChoice时,list.getCheckedItemPositions()有效。返回一个SparseBooleanArray对象,实际上是一个Map
<Object,boolean>的东西,用的时候SparseBooleanArray.get(0)就可以返回第一项的boolean值。
android: drawSelectorOnTop
关联方法:setDrawSelectorOnTop(boolean onTop)
API 1
属性说明:如果为真,选择器将绘制在选中条目的上层。否则绘制在下层。默认为false。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是drawSelectorOnTop。
android: fastScrollEnabled
API 1
属性说明:设置是否允许使用快速滚动滑块,可以通过拖过该滑块在列表中快速滚动。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是fastScrollEnabled。
android: listSelector
API 1
关联方法:setSelector(int resID)
属性说明:用于在列表中指示当前选中条目的Drawable。
可以引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
可以是颜色值(color),格式”#rgb”、”#argb”、”#rrggbb”、”#aarrggbb”。
对应的全局属性资源符号是listSelector。
android: scrollingCache
API 1
属性说明:设置列表滚动时是否使用绘图缓存。该选项使渲染更快,但占用更多的内存。默认为真。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是scrollingCache。
android: smoothScrollbar
API 3
关联方法:setSmoothScrollbarEnabled(boolean enabled)
属性说明:设置为true时,列表将使用基于屏幕上可见项目的像素高度的更精确的计算方法。 默认情况下,此属性设置为true,但如果适配器显示不同高度的项目,则应将其设置为false。 当此属性设置为true并且适配器显示不同高度的项目时,滚动条缩略图将在用户滚动列表时更改大小。 当设置为false时,列表将仅使用适配器中的项目数和屏幕上可见的项目数来确定滚动条的属性。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是smoothScrollbar。
当启用平滑滚动条时,根据可见项目中可见像素的数量计算滚动条缩略图的位置和大小。然而,这假定所有列表项具有相同的高度。如果使用列表中项目具有不同的高度,滚动条将在用户滚动列表时更改外观。要避免此问题,您需要禁用此属性。当平滑滚动条被禁用时,滚动条缩略图的位置和大小仅基于适配器中的项目数目和适配器内的可见项目的位置。当用户浏览具有不同高度的项目列表时,这提供了稳定的滚动条。
android: stackFromBottom
API 1
属性说明:用于 ListView和GridView,指示他们的内容栈从底部开始
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是stackFromBottom。
android: textFilterEnabled
API 1
属性说明:设置为true时,列表将按用户类型过滤结果。 列表的适配器必须支持Filterable接口才能正常工作。
必须是布尔值(boolean),“true”或“false”。
也可以引用一个包含此类型值的资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是texttFilterEnabled。
android: transcriptMode
API 1
属性说明:设置列表的记录模式。在转录模式下,列表滚动到底部,以使新项目在添加时可见。
必须是以下常量值之一:
disabled 禁用转录模式。默认值。
normal 当接收到数据集更改通知并且只有最后一个项目已在屏幕上可见时,列表将自动滚动到底部。
alwaysScroll 列表将自动滚动到底部,无论什么项目是当前可见的。
对应的全局属性资源符号是transcriptMode。