Android(安卓)ScrollView嵌套ListView/GridView 导致进入界面定位到ListView/GridView的问题
16lz
2021-01-25
在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); }
站在巨人的肩膀上,我们才能看的更远!
更多相关文章
- android的LinearLayout杂记
- android中布局 padding gravity margin的理解
- Android(安卓)不可缺少的异步(Thread、Handler、AsyncTask)实例解
- android 解决键盘弹出后输入框被下方控件遮盖
- Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道)
- androidStudio 4.0 打包jar、找不到jar一系列问题、classes.jar
- 【Android】android 常见性能优化笔记
- android EditText处理焦点问题和键盘收起问题
- Android(安卓)系统中 Location Service 的实现与架构