解决 listView gridView 与ScrollView嵌套时的冲突
package com.xqx.fight; import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ArrayAdapter;
import android.widget.ListView; public class MainActivity extends Activity { private ListView listView;
private ArrayAdapter<String > adapter; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listView);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
for(int i=0;i<20;i++)
{
adapter.add("列表项:"+i);
}
listView.setAdapter(adapter); listView.setOnTouchListener(new OnTouchListener() { @Override
public boolean onTouch(View v, MotionEvent event) {
//getParent().requestDisallowInterceptTouchEvent(true) 不允许父层拦截或干扰本控件
listView.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
} } MainActivity.class
MainActivity
所有的View都有一个onMeasure()方法实际测量自己尺寸的方法
当listView被scrollView包含的时候 onMeasure接收的参数就有些不同
普通情况wrapContent会对应一个参数模式 称作AT_MOST
普通情况 match_parent对应EXACTLY
ScrollView内部的控件 进行尺寸的计算 onMeasure的参数模式是UNSPECIFIED
listView onMeasure方法检测模式是UNSPECIFIED 永远是一行
遇到ScrollView嵌套listView、gridView的时候 会出现页面没有显示ScrollView顶部的现象 这时候 需要将ScrollView里边的最顶部的根布局加入
android:focusable="true"
android:focusableInTouchMode="true"
让根布局获取焦点就可以了
ScrollView嵌套RecyclerView的时候,RecyclerView的列表条目显示不全
尝试了很多方法后最终的解决方法是将ScrollView替换成<android.support.v4.widget.NestedScrollView>问题就都解决了
解决 listView gridView 与ScrollView嵌套时的冲突的更多相关文章
- (转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决
ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌 ...
- 解决jquey中当事件嵌套时,内层事件会执行多次的问题
出现情景:当内层事件需要外层事件触发后产生的一些值得时候 情景复现: <!DOCTYPE html> <html lang="en"> <head&g ...
- 重写ScrollView 解决ScrollView嵌套viewpager事件冲突
import android.content.Context; import android.util.AttributeSet; import android.view.GestureDetecto ...
- Android 解决ListView中每一项与button冲突
在listView的item里面如果有button,ImageButton等控件,会使得ListView不会被点击,解决方法是: ①在Button上面添加属性 android:focusable=&q ...
- Android scrollview嵌套webview滑动冲突的解决方案
在Android开发中有时我们需要在scrollview中嵌套webview这时你会发现这两者的滑动事件产生了冲突导致:webview很难被滑动,即使被滑动了一点也非常不顺畅.解决方案也比较简单只需要 ...
- windows禁用/启用hyper-V,解决hyper-V与模拟器同时启用时造成冲突
- iOS-关于一些手势冲突问题(scrollView 嵌套 tableView)
简单说下关于开发中容易遇到的父试图添加手势与子试图点击事件冲突,UIScrollView 嵌套 UIScrollView . UIScrollView 嵌套 UITableView的情况手势冲突问题: ...
- ScrollView嵌套ListView,GridView数据加载不全问题的解决
我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...
- Android——MeasureSpec学习 - 解决ScrollView嵌套ListView和GridView冲突的方法
原文地址:http://blog.csdn.net/yuhailong626/article/details/20639217 在自定义View和ViewGroup的时候,我们经常会遇到int ...
随机推荐
- Game of War - Fire Age 有何特别之处?
作者:福克斯007 链接:https://www.zhihu.com/question/21611550/answer/52458767来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- 向Nexus仓库推送/使用各种组件
1.Nuget仓库 使用NuGetPackageExplorer打包制作自己的nupkg https://github.com/NuGetPackageExplorer/NuGetPackageExp ...
- javascript创建对象之原型模式(三)
少废话,先上代码: function Human() { } Human.prototype.name = "成吉思汗"; Human.prototype.sex = " ...
- C# AtomicBoolean
using System; using System.Threading; /// <summary> /// Provides lock-free atomic read/write u ...
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0 环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统.如果用的是 Ubuntu 系统,请查 ...
- IntelliJ IDEA创建maven web项目(IDEA新手适用)
步骤一:首先先创建一个project,在这里就是创建一个maven的工作空间 步骤二:按照下面的步骤操作就可以了,最后next 首先,选择左边的maven 然后在右边Creater from ar ...
- PHP把excel导入mysql数据库最常用的方法
Posted on 2011-03-25 09:16 PHP博客 阅读(1316) 评论(0) 编辑 收藏 引用 网摘 PHP把excel(xls)文件导入mysql数据库最常用的方法就是先把xls ...
- distinct group by
select num from test_test group by num; 比 select distinct(num) from test_test; 效率高 select count(dis ...
- oracle使用随笔
一,centos 7安装桌面环境 首先使用命令yum grouplist查看可以使用的group ,第一步,命令安装Gnome Desktop,第二步,yum groupinstall "X ...
- DistCp 集群之间数据拷贝工具
DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具.可以将数据拷贝到另个一集群,也可以将另一个集群的数据拷贝到本集群.