listview常用的优化技巧
16lz
2021-12-04
ListView在平时的开发中无处不见,今天就对本人平时开发遇到的一些问题做一个简单的总结:
1: 设置项目间的分割线:
android:divider="@android:color/darker_gray"
android:dividerHeight="1dp"
2:隐藏listview的滚动条
android:scrollbars="none"
3: 取消listview的Item的点击效果
android:listSelector="#00000000" 即设置透明色即可
4:设置Item点击之后赋予颜色:先给listview设置listSelector为你点击时要显示成的颜色,然后在adapter里面再控制一下这项的颜色,
在ListView的OnItemClickListener里边,将当前选中的item执行setSelected(true)
5: 设置listView 需要显示在第几页
listView.setSelection(N); N就是需要显示的第N个Item.
6: 动态修改ListView
mData.add("new");
mAdapter.notifyDataSetChanged();
7:遍历listView中的所有Item
for(int i=0;i
View view =mListView.getChildAt(i);
}
8:处理空的ListView
当listView没有数据展示时, listview 提供了一个方法--setEmptyView()
listView.setEmptyView(findViewById(R.id.**));
9:listView的重点来了:滑动监听
(1:OnTouchListener: 通过监听三个事件的发生
switch(event.gerAction()){
caseMotionEvent.ACTION_DOWN;
//触摸时的操作
break;
caseMotionEvent.ACTION_MOVE;
//移动时的操作
break;
caseMotionEvent.ACTION_UP;
//离开时的操作
break;
}
(2:OnScrollListener
mlistview.setOnScrollLister(new OnScrollLister()){
public voidonScrollStateChanged(AbsListView view, int scrollState){
switch(scrollState){
caseOnscrollListener.SCROLL_STATE_IDLE;
//滑动停止时:
break;
caseOnscrollListener.SCROLL_STATE_TOUCH_SCROLL;
//正在滚动
break;
caseOnscrollListener.SCROLL_STATE_FLING;
//手指抛开时既手指用力滑动
//在离开后listView由于惯性继续滚动
break;
}
}
}
@Override
public voidonScroll(AbListView view,int fistVisibleItem, int visibleItemCount,int totallItemCount){
//ListView滚动时一直调用
}
ListView可以具有弹性就像Iphone手机那样:具体的实现过程查看overScrollBy()方法
更多相关文章
- Android(安卓)Dialog的使用
- Android(安卓)常用样式设置
- android语音搜索结果显示页实现
- Android深入探究-- 实现即时拍照并上传
- Android(安卓)强制设置横屏或竖屏 设置全屏
- android shape的使用
- Android用户界面 UI组件--自动提示输入框 AutoCompleteTextView
- 解决CardView无点击效果,实现水波纹效果
- 跑马灯