赵雅智_ListView

xml重点属性

  • android:choiceMode:规定此ListView所使用的选择模式。缺省状态下,list没有选择模式。
    • none,值为0,表示无选择模式;
    • singleChoice,值为1,表示最多可以有一项被选中;
    • multipleChoice,值为2,表示可以多项被选中。
  • android:cacheColorHint="#00000000" :设置拖动背景色为透明
  • android:divider:设置List列表项的分隔条
  • android:dividerHeight:分隔符的高度。若没有指明高度,则用此分隔符固有的高度。
  • android:entries:引用一个将使用在此ListView里的数组。若数组是固定的,使用此属性将比在程序中写入更为简单。
  • android:footerDividersEnabled:设成flase时,此ListView将不会在页脚视图前画分隔符。此属性缺省值为true。属性值必须设置为true或false。
  • android:headerDividersEnabled:设成flase时,此ListView将不会在页眉视图后画分隔符。此属性缺省值为true。属性值必须设置为true或false。
  • android:fadingEdge="vertical" :上边和下边有黑色的阴影 值为none的话就没有阴影
  • android:scrollbars="horizontal|none" :只有值为horizontal|vertical的时候,才会显示滚动条,并且会自动影藏和显示
  • android:fastScrollEnabled="true": 快速滚动效果,配置这个属性,在快速滚动的时候旁边会出现一个小方块的快速滚动效果,自动隐藏和显示
  • android:scrollbarStyle="" :scrollbar样式
    • outsideInset:该ScrollBar显示在视图(view)的边缘,增加了view的padding. 如果可能的话,该ScrollBar仅仅覆盖这个view的背景
    • insideInset :该ScrollBar显示在padding区域里面,增加了控件的padding区域,该ScrollBar不会和视图的内容重叠.
    • outsideOverlay : 该ScrollBar显示在视图(view)的边缘,不增加view的padding,该ScrollBar将被半透明覆盖
    • insideOverlay : 该ScrollBar显示在内容区域里面,不会增加了控件的padding区域,该ScrollBar以半透明的样式覆盖在视图(view)的内容上.
  • android:background="@drawable/bg":拖动或者点击list空白位置的时候发现ListItem都变成黑色。 
  • android:listSelector="@color/pink": listView item 选中时的颜色。默认为橙黄底色。
  • android:fadeScrollbars="true" :设置为true就可以实现滚动条的自动隐藏和显示
  • android:transcriptMode="alwaysScroll" :用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。
  • android:drawSelectorOnTop=""
    • true 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
    • false点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的

listView重点方法

  • public void addFooterView (View v)
    • 加一个数据显示于list底部的视图。如果此方法被调用超过一次,所加的几个视图将按照它们加入的顺序排列。加入的视图可取得焦点。
    • 注意:在调用setAdapter之前调用此方法。这样的话,可以利用点击光标来收起有header view和footer view的ListView。
  • public void addFooterView (View v, Object data, boolean isSelectable)
    • 加一个数据显示于list底部的视图。如果此方法被调用超过一次,所加的几个视图将按照它们加入的顺序排列。加入的视图可取得焦点。
    • 注意:在调用setAdapter之前调用此方法。这样的话,可以利用点击光标来收起有header view和footer view的ListView。
    • 参数
      • v 要加的视图
      • data 和此视图关联的数据
      • isSelectable 设为true则表示footer view可以被选中
  • public void addHeaderView (View v)
    • 加一个固定显示于list顶部的视图。如果此方法被调用超过一次,所加的几个视图将按照它们加入的顺序排列。加入的视图可取得焦点。
    • 注意:在调用setAdapter之前调用此方法。这样的话,可以利用点击光标来收起有header view和footer view的ListView。
  • public void addHeaderView (View v, Object data, boolean isSelectable)
    • 加一个固定显示于list顶部的视图。如果此方法被调用超过一次,所加的几个视图将按照它们加入的顺序排列。加入的视图可取得焦点。
    • 注意:在调用setAdapter之前调用此方法。这样的话,可以利用点击光标来收起有header view和footer view的ListView。
    • 参数
      • 要加的视图
      • data 和此视图关联的数据
      • isSelectable 表示此header view可选与否
  • public void clearChoices ()
    • 取消之前设置的任何选择
  • public boolean dispatchKeyEvent (KeyEvent event)
    • 按照可以获得焦点的顺序(从视图树的顶端到当前获得焦点的视图),分派一个按键事件给下一个视图。若此视图有焦点,事件将会分派给它自己。否则它将按照顺序,分派给下一个节点。此方法同时触动所有按键监听器。
    • 参数
      • event 被分派的事件
    • 返回
      • 若事件被处理,则返回true;否则为false
  • public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)
    • 在视图的子项目被构建时,分派一个辅助事件。
    • 参数
      • event 事件
    • 返回
      • 若事件全部完成,则返回true
  • public ListAdapter getAdapter () 
    • 返回ListView当前用的适配器。返回的适配器不可以和传给setAdapter(ListAdapter)的参数一样,但是可以是WrapperListAdapter。
    • 返回
      • 当前用来显示ListView中数据的适配器
    • 参见
      • setAdapter(ListAdapter)
  • public long[] getCheckedItemIds ()
    • 返回被选中项目的索引集合。只有当选择模式没有被设置为CHOICE_MODE_NONE,并且适配器有稳定的 ID(hasStableIds()==true) 时,结果才有效。
    • 返回
      • 一个新的数组,包含列表中每个被选中的索引(id)
  • public int getCheckedItemPosition () 
    • 返回当前被选中的项目。只有当选择模式已被设置为CHOICE_MODE_SINGLE时 ,结果才有效。
    • 返回
      • 返回当前被选中的项目的索引;若没有项目被选中,则返回INVALID_POSITION
    • 参见
      • setChoiceMode(int)
  • public SparseBooleanArray getCheckedItemPositions ()
    • 返回当前被选中的项目集合。只有当选择模式没有被设置为CHOICE_MODE_NONE时 ,结果才有效。
    • 返回
      • 类型为SparseBooleanArray的值,其中,对每一个索引所代表的项目,若被选中,则返回true;
      • 当选择模式被设置为CHOICE_MODE_NONE时 ,返回null。
  • public int getChoiceMode ()
    • 返回
    • 返回当前的选择模式
    • 参见
    • setChoiceMode(int)
  • public Drawable getDivider ()
    • 返回
    • 返回当前画在列表元素之间,作为分隔符的图形
  • public int getDividerHeight ()
    • 返回
    • 返回分隔符的高度
  • public int getFooterViewsCount () 
    • 返回
    • 列表中的页脚视图数量;缺省实现时,数量为0
  • public int getHeaderViewsCount ()
    • 返回
    • 列表中的页眉视图数量;缺省实现时,数量为0
  • public boolean getItemsCanFocus ()
    • 返回
    • ListAdapter所生成的视图是否可以包含能取得焦点的项目
  • public int getMaxScrollAmount ()
    • 返回
    • The maximum amount a list view will scroll in response to an arrow event.
    • 响应箭头事件时,列表视图可以滚动的最大值。(译者注:此处翻译待改进,恐怕需要仔细查看源代码才能明白其含义,也可以用Google Code搜索相关的代码)
  • public boolean isItemChecked (int position)
    • 对于由position指定的项目,返回其是否被选中。只有当选择模式已被设置为CHOICE_MODE_SINGLE或CHOICE_MODE_MULTIPLE时 ,结果才有效。
    • 参数
    • position 要返回选中状态的项目
    • 返回
    • 返回项目的选中状态;若选择模式无效,则返回false
  • public boolean onKeyDown (int keyCode, KeyEvent event)
    • KeyEvent.Callback.onKeyMultiple()的缺省实现:若视图被激活并且可以被点击,当出现KEYCODE_DPAD_CENTER和KEYCODE_ENTER代表的行为时,做点击该视图的动作。
    • 参数
    • keyCode 表示按某个按键的按键代号,参见KeyEvent
    • event 定义按键动作的按键事件对象
    • 返回
    • 若事件被成功处理,则返回true;若想要下一个接收器处理该事件,则返回false
  • public boolean onKeyMultiple (int keyCode, int repeatCount, KeyEvent event)
    • KeyEvent.Callback.onKeyMultiple()的缺省实现:总是返回false(不处理该事件)。
    • 参数
    • keyCode 表示按某个按键的按键代号,参见KeyEvent
    • repeatedCount 实现动作的次数
    • event 定义按键动作的按键事件对象
    • 返回
    • 若事件被成功处理,则返回true;若想要下一个接收器处理该事件,则返回false
  • public boolean onKeyUp (int keyCode, KeyEvent event)
    • KeyEvent.Callback.onKeyMultiple()的缺省实现:当出现KEYCODE_DPAD_CENTER和KEYCODE_ENTER代表的行为时,做点击该视图的动作。
    • 参数
    • keyCode 表示按某个按键的按键代号,参见KeyEvent
    • event 定义按键动作的按键事件对象
    • 返回
    • 若事件被成功处理,则返回true;若想要下一个接收器处理该事件,则返回false
  • public void onRestoreInstanceState (Parcelable state) 
    • 重新创建并显示一个视图,此视图拥有之前onSaveInstanceState()保存的内部状态。当state为null时,此方法不会被调用。
    • 参数
    • state 之前onSaveInstanceState()保存的状态
  • public Parcelable onSaveInstanceState ()
    • 保存视图的内部状态,用于以后创建新的拥有同样状态的实例。可保存的状态只包含非持久性的,或者可重新组建的信息。比如,永远不可能保存你当前在屏幕上的位置,因为当新的实例被放置于视图层次体系中时,位置会被重新计算。
    • 一些可以被保存的状态:文本视图(但是通常不是指文本本身,因为文本是被保存在内容提供商或其他持久性的储存体中)中当前的光标位置;列表视图中当前的选中项。
    •   返回 
    •   返回一个包含视图当前动态状态的接口方法对象;若没有东西被保存,则返回null。缺省情况下返回null。
  • public boolean onTouchEvent (MotionEvent ev)
    • 此方法用于处理触摸屏的动作事件。
    • 参数
    • ev 动作事件
    • 返回
    • 若事件被成功处理,则返回true;否则返回false
  • public boolean performItemClick (View view, int position, long id) 
    • 调用定义好的OnItemClickListener。
    • 参数
    • view AdapterView中被点击到的视图
    • position 视图在适配器中的索引
    • id 被点击到的项目的行id
    • 返回
    • 若有定义好的OnItemClickListener被成功调用,则返回true;否则返回false
  • public boolean removeFooterView (View v)
    • 删除之前加入的某个页脚视图。
    • 参数
    • v 要删除的视图
    • 返回
    • 若视图被成功删除,则返回true;若此视图不是页脚视图,则返回false
  • public boolean removeHeaderView (View v)
    • 删除之前加入的某个页眉视图。
    • 参数
    • v 要删除的视图
    • 返回
    • 若视图被成功删除,则返回true;若此视图不是页眉视图,则返回false 
  • public boolean requestChildRectangleOnScreen (View child, Rect rect, boolean immediate) 
    • 当组里的某个子项需要被定位在屏幕的某个矩形范围时,调用此方法。 
    • 重载此方法的ViewGroup可确认以下几点:
    • · 子项目将是组里的直系子项
    • · 矩形将在子项目的坐标体系中
    • 重载此方法的ViewGroup必须保证以下几点:
    • · 若矩形已经是可见的,则没有东西会改变
    • · 为使矩形区域全部可见,视图将可以被滚动显示
    • 参数
      • child 发出请求的子项目
      • rect 子项目坐标系内的矩形,即此子项目希望在屏幕上的定位
      • immediate 设为true,则禁止动画和缓释移动滚动条
    • 返回
      • 这个可滚动显示的组,是否接受请求
  • public void setAdapter (ListAdapter adapter) 
    • 设置ListView背后的数据。根据ListView目前使用的特性,adapter可能被WrapperListAdapter收起。例如:加页眉和/或页脚会使adapter被收起。
    • 参数
      • adapter 负责维护列表背后的数据,以及生成视图来显示数据里的项目
    • 参见
      • getAdapter() 
  •  public void setCacheColorHint (int color)
    • 当color的值不为0时,此值表示的颜色将提示使用者,列表正在一片单色不透明的背景上被画出。
    • 参数
      • color 背景色
  • public void setChoiceMode (int choiceMode)
    • 设置List的选择模式。缺省情况下,列表没有选择模式(即值为CHOICE_MODE_NONE)。
    • 参数
      • choiceMode 值可为CHOICE_MODE_NONE,CHOICE_MODE_NONE和CHOICE_MODE_NONE中的一种
  • public void setDivider (Drawable divider) 
    • 设置将画在列表中每个项目之间的图形。如果图形没有已设定好的高度,则必须同时调用setDividerHeight(int)。
    • 参数
      • divider 将用作分隔符的图形
  • public void setDividerHeight (int height)
    • 设置分隔符(画在列表中每个项目之间)的高度。调用此方法将覆盖由setDivider(Drawable)设置的高度。
    • 参数
      • height 分隔符的新高度,单位为像素
  • public void setFooterDividersEnabled (boolean footerDividersEnabled) 
    • 设置可以或者不可以为页脚视图画上分隔符。
    • 参数
      • headerDividersEnabled 设为true,表明可以画;设为false则不可以
    • 参见
      • setHeaderDividerEnabled(boolean)
      • addFooterView(android.view.View)
  • public void setHeaderDividersEnabled (boolean headerDividersEnabled) 
    • 设置可以或者不可以为页眉视图画上分隔符。
    • 参数
      • headerDividersEnabled 设为true,表明可以画;设为false则不可以
    • 参见
      • setFooterDividerEnabled(boolean)
      • addHeaderView(android.view.View)
  • public void setItemChecked (int position, boolean value)
    • 设置position所指定项目的选择状态。只有选择模式为CHOICE_MODE_SINGLE或者CHOICE_MODE_MULTIPLE时,此设置才有效。
    • 参数
      • position 需要改变选择状态的项目的索引
      • value 新的选择状态
  • public void setItemsCanFocus (boolean itemsCanFocus)
    • 表明在由ListAdapter创建的视图中,可包含能获得焦点的项目。
    • 参数
      • itemsCanFocus 若项目能获得焦点,则设为true;否则为false
  • public void setSelection (int position)
    • 选中position指定的项目。若为触摸模式,则指定项目不会被选中,但位置变化一样。若position的值小于0,则position为0的项目将被选中。
    • 参数
      • position 需要选中的项目的索引(从0开始)
  • public void setSelectionAfterHeaderView ()
    • 选中页眉视图下的第一个列表项目。
  • public void setSelectionFromTop (int position, int y)
    • 选中position指定的项目,并将所选项置于距离ListView顶端y像素的位置(若为触摸模式,则指定项目不会被选中,但位置变化一样)。
    • 参数
      • position 需要选中的项目的索引(从0开始)
      •  y 距离ListView(包括间隙)顶端的位置


你可能感兴趣的:(赵雅智_ListView)