类似于微信朋友圈图片这样的是在listview中嵌套gridview还是动态加入多个imageview呢?
走同样的路,发现不同的人生
应该是动态添加多个imageview,你可以打开开发者选项里面的显示布局边界,或者GPU过度绘制,你会发现图片列表的过度绘制越靠后越少,越靠前越多,比如三张一行的情况下,第一张图片颜色最深,至少三层布局,第二张稍浅,最后一张基本没有过度绘制,我猜测微信使用的可能是层叠类型的布局,比如RelativeLayout
一般不会在AbsListView里再嵌套使用AbsListView的, onMeasure(...)会多次测量第一个View.AbsListView里再嵌套使用AbsListView的, onMeasure(...)会多次测量第一个View.因此, 可能会导致滚动会出现卡顿的现象.
AbsListView
onMeasure(...)
可以考虑使用GridLayout + ViewStub因此, 可能会导致滚动会出现卡顿的现象.
GridLayout
ViewStub
还可以考虑自定义视图.
应该是动态添加多个imageview,你可以打开开发者选项里面的显示布局边界,或者GPU过度绘制,你会发现图片列表的过度绘制越靠后越少,越靠前越多,比如三张一行的情况下,第一张图片颜色最深,至少三层布局,第二张稍浅,最后一张基本没有过度绘制,我猜测微信使用的可能是层叠类型的布局,比如RelativeLayout
可以考虑使用
可以考虑使用GridLayout
+ViewStub
因此, 可能会导致滚动会出现卡顿的现象.GridLayout
+ViewStub
的方式实现. 自行百度或者Google这俩货吧.还可以考虑自定义视图.
参考开源项目: