美文网首页安卓开发
ScrollView嵌套GridView/Listview,Sc

ScrollView嵌套GridView/Listview,Sc

作者: 蓝不蓝编程 | 来源:发表于2020-10-28 19:35 被阅读0次

    问题描述

    布局中采用了ScrollView内嵌GridView,界面刷新时,总是会出现ScrollView自动滚动到GridView的位置.

    解决办法

    1. 方法一:
      页面初始化的时候,设置isFocusable属性.
    gridView.isFocusable = false
    

    PS:需要在代码里设置,而不能在布局文件中通过属性设置(经实测,设置无效).

    1. 方法二
    1. 定制GridView
    class LabelGridView : GridView {
    
        constructor(context: Context) : super(context)
        constructor(context: Context, attrs: AttributeSet) : super(context, attrs)
    
        override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
            super.onMeasure(widthMeasureSpec,  MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE shr 2, MeasureSpec.AT_MOST))
        }
    }
    
    1. 对ScrollView下的直属子控件设置android:descendantFocusability属性
    android:descendantFocusability="blocksDescendants"
    

    相关文章

      网友评论

        本文标题:ScrollView嵌套GridView/Listview,Sc

        本文链接:https://www.haomeiwen.com/subject/knscvktx.html