解决 listView gridView 与ScrollView嵌套时的冲突

 1 package com.xqx.fight;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.Menu;
 6 import android.view.MotionEvent;
 7 import android.view.View;
 8 import android.view.View.OnTouchListener;
 9 import android.widget.ArrayAdapter;
10 import android.widget.ListView;
11 
12 public class MainActivity extends Activity {
13 
14     private ListView listView;
15     private ArrayAdapter<String > adapter;
16     
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_main);
21         
22         listView = (ListView) findViewById(R.id.listView);
23         adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
24         for(int i=0;i<20;i++)
25         {
26             adapter.add("列表项:"+i);
27         }
28         listView.setAdapter(adapter);
29         
30         listView.setOnTouchListener(new OnTouchListener() {
31             
32             @Override
33             public boolean onTouch(View v, MotionEvent event) {
34                 //getParent().requestDisallowInterceptTouchEvent(true)  不允许父层拦截或干扰本控件
35                 listView.getParent().requestDisallowInterceptTouchEvent(true);
36                 return false;
37             }
38         });
39     }
40 
41 }
42 
43 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>问题就都解决了

原文地址:https://www.cnblogs.com/bimingcong/p/4875572.html