问题描述
布局中采用了ScrollView内嵌GridView,界面刷新时,总是会出现ScrollView自动滚动到GridView的位置.
解决办法
- 方法一:
页面初始化的时候,设置isFocusable属性.
gridView.isFocusable = false
PS:需要在代码里设置,而不能在布局文件中通过属性设置(经实测,设置无效).
- 方法二
- 定制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))
}
}
- 对ScrollView下的直属子控件设置android:descendantFocusability属性
android:descendantFocusability="blocksDescendants"
网友评论