您的位置:首页 > 移动开发 > Android开发

Android编程学习之抽象类AbsListView用法实例分析

phpfish 2015-10-31 12:42 267 查看

一、继承关系

public abstract class AbsListView extends AdapterView <T extendsAdapter>

java.lang.Object
         android.view.View
               android.view.ViewGroup
                      android.widget.AdapterView<T extends android.widget.Adapter>
                             android.widget.AbsListView

二、AbsListView概述

用于为一系列条目实现一个虚拟列表的的基类,但是这个列表在这里没有空间定义。例如,这个类的子类可以将这个虚拟列表的内容显示为网格、可旋转的列表或者栈等等。

三、嵌套类

class AbsListView.LayoutParams//AbsListView实现LayoutParams是为了装载视图类型而提供空间。
interface AbsListView.MutiChoiceModeListener// MutiChoiceModeListener为多选模式监听器,响应一个CHOICE_MODE_MULTIPLE_MODAL(自API Level 11).
interface AbaListView.OnScrollListener// 提供了一个回调函数,当视图被滚动时触发。
interface AbsListView.RecyclerListener// 用来接收View被放置在待回收堆区时发送的消息的监听器。

四、XML属性

1.AbsListView的XML属性

android:cacheColorHint// 表明这个列表的背景始终以单一、固定的颜色绘制,可以优化绘制过程。
android:choiceMode//为视图指定选择的行为。可选的类型有:none、singleChoice、multipleChoice、multipleChoiceModal。
android:drawSelectorOnTop// 若设为true,选择器将绘制在选中条目的上层。默认为false。
android:faseScrollEnabled// 设置是否允许使用快速滚动滑块。
android:listSelector// 设置选中项显示的可绘制对象,可以是图片或者颜色属性。
android:scrollingCache// 设置在滚动时是否使用绘制缓存。若设为true,则将使滚动表现更快速,但会占用更内存。默认为true。
android:smoothScrollbar// 为真时,列表会使用更精确的基于条目在屏幕上的可见像素高度的计算方法。默认该属性为真,如果你的适配器需要绘制可变高的条目,他应该设为假。当该属性为真时,你在适配器在显示变高条目时,滚动条的把手会在滚动的过程中改变大小。当设为假时,列表只使用适配器中的条目数和屏幕上的可见条目来决定滚动条的属性。
android:stackFromBottom// 设置GridView和ListView是否将内容从底部开始显示。
android:textFilterEnabled// 当设为真时,列表会将结果过滤为用户类型。前提是这个列表的Adapter必须支持Filterable接口。
android:transcriptMode//设置列表的transcriptMode.有如下选项可选:
//(1)disabled     禁用TranscriptMode,也是默认值;
//(2)normal       当新条目添加进列表中并且已经准备好显示的时候,列表会自动滑动到底部以显示最新条目;
//(3)alwaysScroll  列表会自动滑动到底部,无论新条目是否已经准备好显示.

2.继承自ViewGroup的XML属性

android:addStatesFromChildren// 设置这个ViewGroup的drawable状态是否包括子View的状态。若设为true,当子View如EditText或Button获得焦点时,整个ViewGroup也会获得焦点。
android:alwaysDrawnWithCache// 设置ViewGroup在绘制子View时是否一直使用绘图缓存。默认为true。
android:animationCache// 设置布局在绘制动画效果时是否为其子View创建绘图缓存。若设为true,将会消耗更多的内存,要求持续时间更久的初始化过程,但表现更好。默认为true。
android:clipChildren// 设置子View是否受限于在自己的边界内绘制。若设为false,当子View所占用的空间大于边界时可以绘制在边界外。默认为true。
android:clipToPadding//定义布局间是否有间距。默认为true。
android:descendantFocusability// 定义当寻找一个焦点View的时候,ViewGroup与其子View之间的关系。可选项为:
//(1)beforeDescendants    ViewGroup会比其子View更先获得焦点;
//(2)afterDescendants    只有当无子View想要获取焦点时,ViewGroup才会获取焦点;
//(3)blockDescendants     ViewGroup会阻止子View获取焦点
android:layoutAnimation//定义当ViewGroup第一次展开时的动画效果,也可人为地在第一次展开后调用。
android:persistentDrawingCache// 定义绘图缓存的持久性。有如下可选项:
//(1)none          当使用过后不保留绘图缓存
//(2)animation  在layout animation之后保留绘图缓存
//(3)scrolling  在Scroll操作后保留绘图缓存
//(4)all   always保留绘图缓存

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章: