Android ScrollView默认位置不是最顶部问题

        在某个Android项目开发中,某个模块将所有布局、控件嵌套在ScrollView中,结果发现页面最顶部的Banner一画出屏幕外,需手动滑下才可显示。

       原因猜测(博主自己观点) :在Activity计算窗口的高度时,ScrollView布局内的ListView(RecyclerView)等未填充数据,并且由于ScrollView嵌套ListView(RecyclerView)时没有指定高度,所以加载数据以后ScrollView就会按照layout中定义的默认高度计算。

        解决办法:让最上面的View获得焦点

        banner.setFocusable(true); 
        banner.setFocusableInTouchMode(true); 

        banner.requestFocus();

        banner是博主布局内最顶层的View控件。

        希望此片博客可以帮到大家!

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页