android listview
1)ListView属性值:
http://blog.csdn.net/meng_lw/article/details/7974166
1.scrollbars属性,作用是隐藏listView的滚动条 已验证
android:scrollbars="none"或者setVerticalScrollBarEnabled(true);不活动的时候隐藏,活动的时候也隐藏
scrollbars可以设置为水平滚动条和垂直滚动条 horizontal或vertical
1)设置滚动条的位置
android:verticalScrollbarPosition="left" 滚动条到左边
2)android:scrollbarStyle="insideOverlay"
inside表示显示在padding区域的内侧
outside表示显示在padding区域的外侧。
Inset表示将自动增加padding以显示ScrollBar(这意味着内容区域将缩 小),
Overlay表示不会增加padding以显示ScrollBar,而是浮动在内容上面(可能会遮住内容)
3)scrollBar的淡出效果
4)自定义滑块 ScrollBar由两部分组成,一个是Track(滑道),一个是Thumb(滑块),其定制的属性为:
android:scrollbarThumbHorizontal="@drawable/ic_launcher"
android:scrollbarThumbVertical="@drawable/ic_launcher"
android:scrollbarTrackHorizontal="@drawable/ic_launcher"
android:scrollbarTrackVertical="@drawable/ic_launcher"
5)设置宽度 android:scrollbarSize="0dp"
6)fastScrollEnabled属性
android:fastScrollEnabled="true"或者myListView.setFastScrollEnabled(true); 来控制启用
还有一点就是当你的滚动内容较小,不到当前ListView的3个屏幕高度时则不会出现这个快速滚动滑块.
4.drawSelectorOnTop属性 默认为false 已验证
android:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
android:drawSelectorOnTop="false"点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的
这个属性设置为true的时候是可以看到文字的,只不过不那么明显
5.fadingEdge属性,上边和下边有黑色的阴影 已验证
在 ListView 滑动到顶部或者是底部的时候,会有黄色或者蓝色的阴影出现。
在 2.3 版本之前可以在 ListView 的属性中通过设置 android:fadingEdge="none" 来解决问题.
但是在 2.3 及以上版本这中方法是无效的,可以通过重写 ListView 用代码来设置模式,禁止其阴影的出现,以免影响美观。
if (Integer.parseInt(Build.VERSION.SDK) >= 9) { this.setOverScrollMode(View.OVER_SCROLL_NEVER); }
6.divider属性,该属性作用是每一项之间需要设置一个图片做为间隔,或是去掉item之间的分割线 已验证
1)android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一个图片资源,
如果不想显示分割线则只要设置为android:divider="@drawable/@null" 就可以了
2)android:headerDividersEnabled="true" headview下是否加分隔线
android:footerDividersEnabled="true" footview是否加分隔线
listview添加了headview和footview之后,可以用上面两个变量设置是否在head之下或foot之上添加分割线
7.cacheColorHint属性
很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background="@drawable/bg",不 过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果。
如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透 明(#00000000)就可以了
8.transciptMode ?
需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。
9.stackFromBottom 已验证
android:stackFromBottom="true" 自动滚动到最下面
-------------------------------------------------------------------------
2)listview的item的高度自适应内容
未解决
3)listview显示性能优化,防止内存溢出
这里重点在convertView上, getView(int position, View convertView, ViewGroup parent)
convertView把由于拖动消失的item进行了重用,这样就不用重新new了.节省可内存.
另外如果由自定义VIew的话还要用viewholder
1 public View getView(int position, View convertView, ViewGroup parent) { 2 //System.out.println("getView " + position + " " + convertView); 3 ViewHolder holder = null; 4 if (convertView == null) { 5 convertView = mInflater.inflate(R.layout.lv_item, null); 6 holder = new ViewHolder(); 7 holder.textView = (TextView)convertView.findViewById(R.id.tv_text); 8 convertView.setTag(holder); 9 } else { 10 holder = (ViewHolder)convertView.getTag(); 11 } 12 holder.textView.setText(mData.get(position)); 13 return convertView; 14 } 15 } 16 17 public static class ViewHolder { 18 public TextView textView; 19 }
4)布局文件填充成View对象的三种方法
View v = View.inflate(MainActivity.this, R.layout.item_listview, null);
LayoutInflater inflater = LayoutInflater.from(MainActivity.this); View v2 = inflater.inflate(R.layout.item_listview, null);
LayoutInflater inflater2 = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); View v3 = inflater2.inflate(R.layout.item_listview, null);
5)mvc模型对应
Model:要显示的内容 datalist
View:用户直接看到的页面 ListView
Control:控制内容显示 Adapter
BaseAdapter------------------ArrayAdapter数组数据,只能显示单一数据
-----------------SimpleAdapter数据存在List<Map>里面,可以显示复杂页面
------------------------------------------------------
listview下拉刷新 显示XXX制作之类的
------------------------------------------------------
ListView动态高度
http://blog.csdn.net/h3c4lenovo/article/details/8256472
------------------------------------------------------
listview分页加载
http://www.open-open.com/lib/view/open1330132229874.html
http://blog.csdn.net/liuhe688/article/details/6852523
http://www.jb51.net/article/31974.htm
http://www.linuxidc.com/Linux/2014-05/101539.htm
-----------------------------------------------------
ScrollView里面套圆角listview
http://b275518834201204034558.iteye.com/blog/1482140
ListView内嵌GridView
http://www.apkbus.com/android-50889-1-2.html
-----------------------------------------------------
综合
http://zkl-1987.iteye.com/blog/1051311
-----------------------------------------------------
listview 图片下拉放大
http://my.oschina.net/zhulunjun/blog/209683
----------------------------------------------------
http://blog.sina.com.cn/s/blog_618199e601010701.html