ListView的属性及与ScrollView连用问题
来源:互联网 发布:卖家网数据套餐 编辑:程序博客网 时间:2024/05/20 03:42
1.android:stackFromBottom="true"让其内容从底部开始显示
2.android:transcriptMode=diszbled取消transcriptmode模式/normal当接收到数据改变的通知,并且当仅仅最后一个选项已经显示在屏幕的时候自动滑到底部/alwaysScroll无论当前列表显示什么选项,列表将会自动滑动到底部显示最新的选项
3.android:cacheColorHint设置listView的背景时,要设置这个属性为"#00000000"透明
4.android:divider分割线(图片、颜色)如果设置为@null.就是没有分隔线,用颜色时。要设置dividerheight
5.android:listSelector设置按下去的颜色
6.当item里面有Button等控件时就会失去焦点导致无法响应事件,这时要在item的布局中设置android:descendantFocusability="blocksDescendants"
7.srcllowview与listview连用时,会出现无法滑动,或者显示不全,只显示一行等问题,这时需要计算listview的高度,在设置适配器之后调用该方法(可能最后一行显示不全,这时要将params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));改为params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1))+一个高度;)但是这个方法有个两个细节需要注意:
一是Adapter中getView方法返回的View的必须由LinearLayout组成,因为只有LinearLayout才有measure()方法,如果使用其他的布局如RelativeLayout,在调用listItem.measure(0, 0);时就会抛异常,因为除LinearLayout外的其他布局的这个方法就是直接抛异常的,没理由…。我最初使用的就是这个方法,但是因为子控件的顶层布局是RelativeLayout,所以一直报错,不得不放弃这个方法。
二是需要手动把ScrollView滚动至最顶端,因为使用这个方法的话,默认在ScrollView顶端的项是ListView,具体原因不了解,求大神解答…可以在Activity中设置:
/**
* 动态设置ListView的高度
* @param listView
*/
public static void setListViewHeightBasedOnChildren(ListView listView) {
if(listView == null) return;
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
阅读全文
0 0
- ListView的属性及与ScrollView连用问题
- ScrollView与ListView的冲突问题
- ScrollView与ListView的冲突问题
- 处理ScrollView与listview,gridview的问题
- ScrollView与ListView的相关问题
- ScrollView嵌套ListView的问题与解决方案
- ScrollView与ListView冲突的问题
- ScrollView与listview的冲突问题汇总
- ScrollView与ListView共存冲突保留ScrollView滚动的问题
- scrollview与gridview及listview嵌套冲突问题
- ListView与ScrollView问题总结
- ListView与ScrollView冲突问题
- scrollView与listView嵌套问题
- listView与ScrollView嵌套问题
- ScrollView与ListView冲突问题
- ScrollView中嵌套ListView存在的问题及解决办法
- ListView嵌入ScrollView中出现的问题及解决方法
- 完美解决ScrollView与ListView冲突问题(ListView与ListView的冲突)
- 为什么使用PreparedStatement而不是Statement
- Docker搭建私有镜像仓库
- 枚举—案例(画家问题poj1681)
- 最常见的34个敏捷测试面试的Q&A(下)
- C语言提高-40讲: 小小型应用系统开发指导(四)(银行储蓄系统数组版)
- ListView的属性及与ScrollView连用问题
- android基于ffmpeg的简单视频播发器 音频播放
- java sdk安装后环境变量的配置
- matlab注释及取消注释快捷键
- spark 和 hadoop
- 常用存储单位及转换关系
- Selenium学习历程
- [内网端口映射]内网端口映射ubuntu
- Airflow 1.8 工作流平台搭建