scrollView和listView的滑动冲突和listView显示不全
来源:互联网 发布:ramin djawadi 知乎 编辑:程序博客网 时间:2024/06/10 17:35
在开发过成功,我们经常要用到listView和ScrollView嵌套的布局,但是当外层为ScrollView时有时候就会出现listView命名有N行item但是却只显示了一条item项,这是因为我们要两个控件的焦点获取问题,你可能会发现当你想滑动ScrollView的时候ListView会优先滑动,那么这时候我们需要设置listView禁止滑动并且隐藏右边的滑动条。重新计算listView的项高度,下面直接上代码注释很详细,可以粘贴直接使用:
package com.jgkj.bxxc.tools;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.ListAdapter;import android.widget.ListView;/** * 项目名: jiuguixueche * 包名: com.jgkj.bxxc * 文件名: Scroll_ListView_Conflict * 创建者: fangzhou * 创建时间: 2016/11/10 * 描述: 重新计算listView的高度 */public class Scroll_ListView_Conflict extends ListView { public Scroll_ListView_Conflict(Context context) { super(context); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } /* * 解决listView和ScrollView冲突的问题 */ public static void setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { // listAdapter.getCount()返回数据项的数目 View listItem = listAdapter.getView(i, null, listView); listItem.measure(0, 0); // 计算子项View 的宽高 totalHeight += listItem.getMeasuredHeight() + 45; // 统计所有子项的总高度 } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度 // params.height最后得到整个ListView完整显示需要的高度 listView.setLayoutParams(params); }}
1 0
- scrollView和listView的滑动冲突和listView显示不全
- 解决ScrollView嵌套ListView滑动冲突显示不全的问题
- scrollview 和 listview滑动冲突
- ScrollView和ListView滑动冲突
- ScrollView和ListView的滑动冲突解决
- ScrollView 嵌套ListView 滑动冲突,与显示不全
- 解决ScrollView中嵌套Listview,Listview显示不完整和滑动冲突的问题
- 安卓解决ScrollView嵌套ListView显示不全、与ViewPager滑动冲突的3个类
- 【解决】Listview中嵌套Listview或者ScrollView中嵌套Listview【显示不完整和滑动冲突】
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- 【Android界面实现】解决ScrollView中嵌套Listview,Listview中嵌套Listview显示不完整和滑动冲突的问题
- ScrollView嵌套listView和Viewpager后的显示不全解决
- ScrollView 和 ListView 滑动冲突处理
- Android ScrollView和ListView滑动冲突问题
- 12312389
- Nginx+IIS+Redis 处理Session共享问题 2
- vue.js+vue-awesome-swiper轮播
- 为什么trim出来的aaa与字符串aaa不双等
- 为什么飞机不悬停在天上 等地球从下方通过呢?
- scrollView和listView的滑动冲突和listView显示不全
- 【spring mvc】springmvc中自己实现的token防表单重复提交,防止二次提交(二)
- Oracle PL/SQL使用动态SQL
- 模板
- Ubuntu搭建TFTP服务器
- 关于华为交换机端口批量加入错误问题
- shell中常见参数及判断命令
- 工作中突然发现的实用快捷键(实时更新)
- java基于servlet的文件上传