ScrollView 与ListView 滑动冲突完美解决
一、介绍ListView高度的设置方法
二、根据实际需求解决冲突问题
一、介绍ListView高度的设置方法
在ScrollView中使用ListView,ListView的高度会不正常。
方式一:在XML中写死
android:layout_width="match_parent"
android:layout_height="120dp"
方式二:代码中设置固定高度(如果在运行过程中才能决定ListView高度)
public void setHeight(int height){
LayoutParams params = this.listview.getLayoutParams();
params.width = LayoutParams.FILL_PARENT;
params.height = height;
listview.setLayoutParams(layoutParams);
}
方式三:代码中动态设置高度(让ListView高度最大 显示完全所有数据)
public void setHeight(){
int height = 0;
int count = adapter.getCount();
for(int i=0;i<count;i++){
View temp = adapter.getView(i,null,listview);
temp.measure(0,0);
height += temp.getMeasuredHeight();
}
LayoutParams params = this.listview.getLayoutParams();
params.width = LayoutParams.FILL_PARENT;
params.height = height;
listview.setLayoutParams(layoutParams);
}
二、根据实际需求解决冲突问题
前提1:ListView 显示全部内容(假如4条数据 我显示满4条)
上述方式三让ListView高度最大,显示完全数据,滑动时就只会响应ScrollView滑动事件
此时ListView不能滑动,也没必要滑动,因为已经显示完全数据。
前提1:ListView 不想显示全部内容(假如100条数据 我只显示10条 滑动查看其余)
使用上述方式一或二,ListView没有显示完全数据
但是想焦点在ListView时滑动ListView,焦点在ScrollView时滑动ScrollView
给ListView加上监听OnTouchListener
listView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
scrollView.requestDisallowInterceptTouchEvent(true);
return false;
}
}
);
ScrollView 与ListView 滑动冲突完美解决的更多相关文章
- ScrollView和ListView滑动冲突问题
1.在ScrollView里面嵌套ListView时,ListView的滑动事件无法响应. 先看下事件分发的过程: 由父View层的 onInterceptTouchEvent 到中间层的on ...
- Android ScrollView和ListView滑动冲突解决记录
private int mLastX; private int mLastY; public View.OnTouchListener onTouchListener = new View.OnTou ...
- scrollview 和 listview滑动冲突解决
http://blog.csdn.net/wanghao200906/article/details/51084975 http://www.cnblogs.com/shitianzeng/artic ...
- (转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决
ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌 ...
- 关于Android滑动冲突的解决方法(二)
之前的一遍学习笔记主要就Android滑动冲突中,在不同方向的滑动所造成冲突进行了了解,这样的冲突非常easy理解,当然也非常easy解决.今天,就同方向的滑动所造成的冲突进行一下了解,这里就先以垂直 ...
- PullToRefreshListView中嵌套ViewPager滑动冲突的解决
PullToRefreshListView中嵌套ViewPager滑动冲突的解决 最近恰好遇到PullToRefreshListView中需要嵌套ViewPager的情况,ViewPager 作为头部 ...
- 关于ScrollView和listview的冲突关于的滑动和宽度
listview和ScrollView嵌套有两个冲突,关于listview显示不全的问题和listview和scrollview的滑动冲突 自定义listview package com.exmple ...
- 解决ScrollView与ListView事件冲突
1,在最近做项目的时候使用ScrollView嵌套ListView的时候发现ListView的滑动效果失效,简单的网上搜索了一下,也就有了下面的解决方法,在ListView中设置事件的监听listvi ...
- ScrollView与ListView的冲突
众所周知ListView与ScrollView都具有滚动能力,对于这样的View控件,当ScrollView与ListView相互嵌套会成为一种问题: 问题一:ScrollView与ListView嵌 ...
随机推荐
- freemaker遍历嵌套list的map
<#if disMap?exists> <#list disMap?keys as key> <#if ((disMap[key]))??&&((disM ...
- 关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)
今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码: player.skillData[i].name 替换为: player.skillData.getSki ...
- 字串数_hdu_1261(大数极致).java
字串数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- python list(列表)和tuple(元组)
200 ? "200px" : this.width)!important;} --> 介绍 python中存在两种有序的类型列表,分别是list(列表)和tuple(元组) ...
- OpenNebula config配置详情
AUTH_MAD=AUTHN=ssh,x509,ldap,server_cipher,server_x509,EXECUTABLE=one_auth_mad DATASTORE_BASE_PATH=/ ...
- 【M15】了解异常处理(exception handling)的成本
1.为了在运行期处理异常,程序必须做大量额外的工作.比如,即使抛出异常,也必须保证离开作用域的栈上对象执行析构方法.因此,必须记录try语句的进入点和离开点,记录catch语句能够处理的异常等.这就意 ...
- Codeforces Gym 100431G Persistent Queue 可持久化队列
Problem G. Persistent QueueTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudg ...
- C++ Caption
主题 1. 设置控件的标题文本 2. 获取控件的标题文本 Caption属性 取得一个窗体的标题(caption)文字,或者一个控件的内容 红色的部分就是 Caption 标题 Set ...
- Hbase深入学习(六) Java操作HBase
Hbase深入学习(六) ―― Java操作HBase 本文讲述如何用hbase shell命令和hbase java api对hbase服务器进行操作. 先看以下读取一行记录hbase是如何进行工作 ...
- hive 经常使用命令
1.查看表结构信息 desc formatted table_name; desc table_name; 查看关联文件: desc extended f_tblog_online_mds; ...