美文网首页安卓开发
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