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

滑动listView的时候可以滑动   滑动listView之外时整个屏幕会滑

所有的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嵌套时的冲突的更多相关文章

  1. (转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

    ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌 ...

  2. 解决jquey中当事件嵌套时,内层事件会执行多次的问题

    出现情景:当内层事件需要外层事件触发后产生的一些值得时候 情景复现: <!DOCTYPE html> <html lang="en"> <head&g ...

  3. 重写ScrollView 解决ScrollView嵌套viewpager事件冲突

    import android.content.Context; import android.util.AttributeSet; import android.view.GestureDetecto ...

  4. Android 解决ListView中每一项与button冲突

    在listView的item里面如果有button,ImageButton等控件,会使得ListView不会被点击,解决方法是: ①在Button上面添加属性 android:focusable=&q ...

  5. Android scrollview嵌套webview滑动冲突的解决方案

    在Android开发中有时我们需要在scrollview中嵌套webview这时你会发现这两者的滑动事件产生了冲突导致:webview很难被滑动,即使被滑动了一点也非常不顺畅.解决方案也比较简单只需要 ...

  6. windows禁用/启用hyper-V,解决hyper-V与模拟器同时启用时造成冲突

  7. iOS-关于一些手势冲突问题(scrollView 嵌套 tableView)

    简单说下关于开发中容易遇到的父试图添加手势与子试图点击事件冲突,UIScrollView 嵌套 UIScrollView . UIScrollView 嵌套 UITableView的情况手势冲突问题: ...

  8. ScrollView嵌套ListView,GridView数据加载不全问题的解决

    我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...

  9. Android——MeasureSpec学习 - 解决ScrollView嵌套ListView和GridView冲突的方法

      原文地址:http://blog.csdn.net/yuhailong626/article/details/20639217   在自定义View和ViewGroup的时候,我们经常会遇到int ...

随机推荐

  1. MYSQL中只知表名查询属于哪个SCHEMA

    只知道表名XXX查该表属于哪个schema.以及该表有哪些列等信息 SELECT * from information_schema.columns WHERE table_name = 'xxx'; ...

  2. spark-submit 提交Application

    在spark1.0中推出spark-submit来统一提交applicaiton ./bin/spark-submit \ --class <main-class> --master &l ...

  3. ElasticSearch 索引模块——集成IK中文分词

    下载插件地址 https://github.com/medcl/elasticsearch-analysis-ik/tree/v1.10.0 对这个插件在window下进行解压 用maven工具对插件 ...

  4. RAID5---块,条带,校验,旋转,同步/异

    冗余(奇偶校验)块:RAID5中在同一个条带中用一个块来存放冗余信息,冗余信息示其他块的"异或"值,这样在同一条带中就只有(n-1)个块是实际的数据,所以RAID5中阵列容量是(n ...

  5. CSS3基础知识核心动画(二)

    Transition过渡 transition-property 过渡属性 all|[attr] transition-duration 过渡时间 transition-delay 延迟时间 tran ...

  6. 显示锁(一)Lock显示锁的优点

    转载自 Java 并发:Lock 框架详解 摘要: 我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchroni ...

  7. faker之python构造虚拟数据

    python中可以使用faker来制造一些虚拟数据 首选安装faker pip install Faker 老版的叫法是faker-factory,但是已不适用 使用faker.Factory.cre ...

  8. Tornado之链接数据库

    5 数据库 知识点 torndb安装 连接初始化 执行语句 execute execute_rowcount 查询语句 get query 5.1 数据库 与Django框架相比,Tornado没有自 ...

  9. c++官方文档-动态内存

    #include<iostream> #include <new> using namespace std; int main() { /** * 动态内存 * url: ht ...

  10. git 提交文件到gitee

    1.新建文件夹   打开gitbash  初始化仓库 git.init 2.把要提交的文件copy到文件夹 3.git add. 4.git remote add master(分支)  远程仓库 5 ...