在Android的项目中,我们经常会使用到布局的嵌套,虽然google并不推荐我们在ScrollView中去嵌套ListView/GridView,但是在国内的项目之中或多或少的都会使用到这样的嵌套.
而在ScrollView中去嵌套ListView/GridView的时候,会出现定位不准确的问题,也就是说,在已进入页面的时候,页面会自动定位到ListView/GridView的位置,而不是ScrollView的开始位置。
那为什么会这样那?原因其实很简单,是因为ListView/GridView抢夺了ScrollView的焦点的原因。明白了问题的所在要处理起来就很容易了. 有两种办法去处理这个问题
1、取消掉LsitView/GridView的焦点.

setFocusable(false);

2、强定义父视图的焦点

android:focusableInTouchMode="true"android:focusable="true"

附上嵌套如ScrollView的LsitView/GridView的代码.

 @Override    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)    {        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,                MeasureSpec.AT_MOST);        super.onMeasure(widthMeasureSpec, expandSpec);    }

站在巨人的肩膀上,我们才能看的更远!

更多相关文章

  1. android的LinearLayout杂记
  2. android中布局 padding gravity margin的理解
  3. Android(安卓)不可缺少的异步(Thread、Handler、AsyncTask)实例解
  4. android 解决键盘弹出后输入框被下方控件遮盖
  5. Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道)
  6. androidStudio 4.0 打包jar、找不到jar一系列问题、classes.jar
  7. 【Android】android 常见性能优化笔记
  8. android EditText处理焦点问题和键盘收起问题
  9. Android(安卓)系统中 Location Service 的实现与架构

随机推荐

  1. android + PHP 实现消息推送(采用MQTT协议
  2. 如何调用android通讯录?
  3. duplicate entry: android/support/v4/in
  4. android 加载进度条动画
  5. android alarm相关信息
  6. Android(安卓)时间戳和时间之间的转化
  7. android segment fault logcat相关信息分
  8. [Android(安卓)UI界面] 怎样实现ListView
  9. Android存储设备管理
  10. android实现虚拟按键实例