扫码关注官方订阅号
一个Activity页面很长,无法全部显示出来,布局里面有一个RecyclerView。要想让整个页面可以滚动,用ScrollView嵌套整个页面包括RecyclerView的方法,可行不?
闭关修行中......
建议不要搞那么复杂,直接用ListView。即使页面有几种布局,也可以解决
ListView
方法1:如果只是最顶和最底的布局不相同,listView.addHeader(view) listView.addFooter(view)就最省事了
listView.addHeader(view)
listView.addFooter(view)
方法2:有好几种布局,并且不是最顶或最底。重写BaseAdapter的getItemViewType()和getViewTypeCount(),利用BaseAdapter来管理不同布局(使用方法自行百度)
BaseAdapter
getItemViewType()
getViewTypeCount()
RecyclerView已经封装得好好,ListView更灵活。产品今天说这个需求,可以用RecyclerView,明天那个需求,RecyclerView可能就应付不来了,如果不换ListView,可能用更多代码去维护不同的View....如果楼主逻辑很好,可以这么做,但我不建议。
RecyclerView
View
可行,但是你需要制定RecyclerView的高度,类似的AdapterView在ScrollView中都需要指定一个高度,否则默认高度就是为0,如果没有ScrollView的话,我们知道父容器的高度最大是一个屏幕大小,但是在ScrollView中,逻辑上高度是无限的,所以这些子View就不知道自己可以有多高了
AdapterView
ScrollView
既然用了RecyclerView,外面干嘛还要套个ScrollView?这不是强行给自己增加难度吗?RecyclerView本身就可以滑动啊
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
建议不要搞那么复杂,直接用
ListView。即使页面有几种布局,也可以解决方法1:如果只是最顶和最底的布局不相同,
listView.addHeader(view)listView.addFooter(view)就最省事了方法2:有好几种布局,并且不是最顶或最底。重写
BaseAdapter的getItemViewType()和getViewTypeCount(),利用BaseAdapter来管理不同布局(使用方法自行百度)RecyclerView已经封装得好好,ListView更灵活。产品今天说这个需求,可以用RecyclerView,明天那个需求,RecyclerView可能就应付不来了,如果不换ListView,可能用更多代码去维护不同的View....如果楼主逻辑很好,可以这么做,但我不建议。可行,但是你需要制定
RecyclerView的高度,类似的AdapterView在ScrollView中都需要指定一个高度,否则默认高度就是为0,如果没有ScrollView的话,我们知道父容器的高度最大是一个屏幕大小,但是在ScrollView中,逻辑上高度是无限的,所以这些子View就不知道自己可以有多高了既然用了RecyclerView,外面干嘛还要套个ScrollView?
这不是强行给自己增加难度吗?
RecyclerView本身就可以滑动啊