安卓开发

ScrollView嵌套GridView/Listview,Sc

2020-10-28  本文已影响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"
上一篇 下一篇

猜你喜欢

热点阅读