ListView与GridView的属性讲解

    ListView与GridView是Android开发中使用比较多的两个控件,因为我是个菜鸟,我想多知道里面属性的含义,所以在此记录一下。

   ListView属性:

 1.ListView是一个用来纵向展示条目的视图。条目的内容是通过adapter设置进去的

 2.android:divider 在列表条目之间显示的drawable或者color

 3.android:dividerHeight  用来指定divider的高度

 4.android:entries   构成listview的数组资源的引用。对于某些固定的资源,这个属性提供了比在代码中添加资源的更加简便的方法。

 5.android:footerDividerEnabled  当设为false时,listview将不会在各个footer之间绘制divider的,默认为true;

 6.android:headerDividerEnabled 当设为false时,listview将不会在各个header之间绘制divider的,默认为true;

 7.android:cachecolorHint   表明这个列表的背景始终以单一、固定的颜色绘制,可优化绘制过程。 当value

为“#000000”时,表示为透明的,当其他颜色的时候,指定该颜色为listview的背景。如果不使用会在选中的条目下面

出现一个空间黑色底色的情况,影响整体美观。

 8.android:scrollingCache  设置在滚动时是否使用绘制缓存,若为true,则将使滚动表现更快速,但会占用更多内存,默认为true

 9.android:fastScrollEnabled   设置是否允许使用快速滚动滑块

10.android:drawSelectorOnTop  若为true,选择器将绘制在条目的上层,内容会被遮住。默认为false;为false时,选择

器绘制在条目的下方,成为背景色。

11.android:listSelector   设置选中项显示的可绘制对象 ,可以是图片也可以是颜色。若是不用,在选中某个条目的时候背景会显示黄色的。

12.android:choiceMode   为视图指定选择的模式。可选的类型有:none、singlechoice、multiplechoice、

multiplechoiceModal   none是普通模式   singlechoice是单选模式  multiplechoice与multiplechoiceModal都是多选模式

但是这两种模式是有区别的:multiplechoice在选择item的情况下,也能响应item普通的点击事件。但是

multiplechoiceModal本身是具有排斥性的,一旦有一个item被选中,即进入多选状态,item的点击事件就会被屏蔽。

13.android:smoothScrollbar   设置平滑滚动特性的状态。为真时,列表会使用更精确的基于条目在屏幕上的可见像素

高度的计算方法。默认为真。如果你的适配器需要绘制可变高的条目,他应该设为假。当该属性为真时,你在适配器

在显示变高条目时,滚动条的把手会在滚动的过程中改变大小。当设为假时,列表只使用适配器中的条目数和屏幕上

的可见条目来决定滚动条的属性。  

14.android:stackFromBottom  设置Listview或GridView是否从底部开始显示内容。.

15.android:textFilterEnabled   设置是否开启文本过滤器   当设为真时,列表会将结果过滤为用户类型。前提是这个列

表的Adapter必须支持Filterable接口。

16.android:transcriptMode  设置该属性可以将安卓平台的控件自动滑动到最底部 

   有三种模式:(1) disabled  表示禁用transcriptMode   也是默认的

              (2) normal    当新条目添加进列表并准备好显示的时候  列表会自动滑动到底部显示最新条目

              (3) alwaysScroll  列表会自动滑动到底部,无论新条目是不是已经准备好显示

17.android:addStateFromChildren  设置整个viewgroup的drawable状态是否也包含子控件的drawable状态。

该属性用于当子控件获得焦点的时候作为一个组获得焦点出现。也就是当子控件获得焦点的时候,整个viewgroup的

drawable发生改变。

18.android:alwaysDrawnwithCache  设置viewgroup在绘制子view的时候是否一直使用绘图缓存。默认为true;

19.android:animationcache:  设置布局在绘制动画效果时是否为其子view创建绘图缓存。若为true,将消耗更多的内存,要求持续时间更长的初始化过程,表现效果更好。默认为true

20.android:clipChildren  设置子view是否受限于在自己的范围内绘制。若为false,如果子view超出了边界的范围可以绘制在边界外。默认为true;

21.android:clipTopadding  设置布局间是否有间距    默认为true;

22.android:descendantFocusability  定义当寻找一个焦点view的时候,父控件与子控件之间的关系

 (1)beforeDescendants   父控件会比子控件先获取焦点 

 (2)afterDescendants     父控件比子控件后获得焦点

 (3)blockDescendants    父控件会阻止子控件获得焦点

23.android:layoutAnimation 定义当viewgroup第一次展开时的动画效果,也可人为地在第一次展开时调用

24.android:persistentDrawingCache  设置绘图缓存的持久性

   none:当使用过后不保留绘图缓存

  animation:在layout-animation之后保留绘图缓存

  all     always保留绘图缓存

  scrolling  在scroll之后保留绘图缓存


常用的public方法:

  (1)void addFooterView(View v)  增加一个固定在列表底部的view    参数v是要添加的view对象

  (2) void addFooterView(View v,Object data,boolean isSelectable)  增加一个固定在列表底部的view    

 参数v是要添加的view        data是与view绑定的数据     isSelectable 设置是否可选

  (3)void addHeaderView(View v)  增加一个固定在列表顶部的view

  (4)void addHeaderView(View v,Object data,boolean isSelectable)  增加一个固定在列表顶部的view

参数v是要添加的View     data 是与view绑定的数据      isSelectable  设置是否可选

 (5) boolean removeFooterView(View v) 去除一个之前添加的view   参数v是要删除的view  删除成功返回true;

 (6)boolean removeHeaderView(View v) 去除一个之前添加的view  参数v是要删除的view,删除成功返回true;

2.响应事件方法:

(1) boolean onKeyDown(int keyCode,KeyEvent event)  当按下键时响应

(2) boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event) 重复按下键时响应   repeatCount为按下次数

(3)boolean onKeyUp(int keyCode,keyEvent event) 当键被释放时调用

3.get方法:

(1)ListAdapter getAdapter();返回listview正在使用的adapter

(2) Drawable getDevider(); 以drawable的形式返回devider

(3)boolean getItemsCanFocus();返回是否有可获得焦点的条目

(4)Drawable getOverScrollFooter();返回绘制在所有条目之下的drawable

(5)Drawable getOverScrollHeader();返回绘制在所有条目之上的drawable

(6)int getMaxScrollAmount();当前滚动视图响应箭头事件能够滚动的最大数

4.set方法

(1)void setSelection(int position); 设置被选中的条目  如果参数小于0,则position为0的条目将被选中

(2) void setSelectionAfterHeaderview(); 设置选中headerview下方第一条条目

(3) void setRemoteViewAdapter(Intent intent);为此AbListview设置一个通过intent连接到RemoteViewService而提供的远程视图适配器


GridView的属性:

1.android:numColumns 指的是要显示出来的列数      auto_fit 设置为自动  

2.android:columnWidth  指的是每列的宽度,也就是item的宽度

3.android:stretchMode   指的是缩放模式   也就是如何填满空余的位置   如果设置为columnwidth 就是将剩余的位置分配给每列    如果为SpacingWidth 则是将剩余的位置分配给列与列之间的空隙

4.android:verticalSpacing   指的是两行之间的距离

5.android:horizontalSpacing 指的是两列之间的距离

6.android:CacheColorHint    指的是拖动条目时,条目的背景颜色

7.android:listselector       指的是选中条目时,条目的底色

8.android:scrollbars    指的是滑动条的显示模式

9.android:fadeScrollbars   指的是设置滚动条的自动显示跟隐藏  

10.android:fastScrollEnabled   设置是否支持快速滑动  

11.android:transcriptmode   指的是动态添加数据的时候,自动将最新的条目展示在可视范围内

12.android:stackfromBottom  指的是列表显示在你的列表的最下方

13.android:drawSelectorOnTop   指的是设置drawable显示在上方还是下方还是正常 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值