第一:cacheColorHint属性,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性
android:background="@drawable/bg",不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果。如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将
与setCacheColorHint(Color.TRANSPARENT);的效果是一样的.
第二:divider属性,该属性作用是每一项之间需要设置一个图片做为间隔,或是去掉item之间的分割线android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一个图片资源,如果不想显示分割线则只要设置为
与setDivider(getResources().getDrawable(android.R.color.transparent));的效果是一样的.
第三:fadingEdge属性,上边和下边有黑色的阴影
与setVerticalFadingEdgeEnabled(false);的效果是一样的.
第四:scrollbars属性,作用是隐藏listView的滚动条.
与
setVerticalScrollBarEnabled(false);的效果是一样的,不活动的时候隐藏,活动的时候也隐藏
第五:listSelector属性,作用是点击listView条目的背景色.
与setSelector(android.R.color.transparent
);的效果是一样的,去掉点击条目默认的选中色。
01
|
android:cacheColorHint=
"@android:color/transparent"
|
第二:divider属性,该属性作用是每一项之间需要设置一个图片做为间隔,或是去掉item之间的分割线android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一个图片资源,如果不想显示分割线则只要设置为
01
|
android:divider=
"@null"
|
第三:fadingEdge属性,上边和下边有黑色的阴影
01
|
android:fadingEdge=
"none"
|
第四:scrollbars属性,作用是隐藏listView的滚动条.
01
|
android:scrollbars=
"none"
|
第五:listSelector属性,作用是点击listView条目的背景色.
01
|
android:listSelector=
"@android:color/transparent"
|
//去除ListView滑到顶部和底部时边缘的黑色阴影:
android:fadingEdge="none"
//去除拖动时默认的黑色背景:
android:cacheColorHint="#00000000"
//去除选中时的黄色底色:
android:listSelector="#00000000"
//去除行与行之间的黑线:
msgList.setDivider(null);
//ListView刷新后自动滚到最底部:
msgList.setSelection(msgList.getAdapter().getCount()-1);
保存恢复ListView当前位置
private void saveCurrentPosition() {
if (mListView != null) {
int position = mListView.getFirstVisiblePosition();
View v = mListView.getChildAt(0);
int top = (v == null) ? 0 : v.getTop();
//保存position和top
}
}
private void restorePosition() {
if (mFolder != null && mListView != null) {
int position = 0;//取出保存的数据
int top = 0;//取出保存的数据
mListView.setSelectionFromTop(position, top);
}
}
可以保存在Preference中或者是数据库中,数据加载完后再设置