android - 類似于微信朋友圈圖片這樣的是在listview中嵌套gridview還是動(dòng)態(tài)加入多個(gè)imageview呢?
問題描述
類似于微信朋友圈圖片這樣的是在listview中嵌套gridview還是動(dòng)態(tài)加入多個(gè)imageview呢?
問題解答
回答1:應(yīng)該是動(dòng)態(tài)添加多個(gè)imageview,你可以打開開發(fā)者選項(xiàng)里面的顯示布局邊界,或者GPU過度繪制,你會(huì)發(fā)現(xiàn)圖片列表的過度繪制越靠后越少,越靠前越多,比如三張一行的情況下,第一張圖片顏色最深,至少三層布局,第二張稍淺,最后一張基本沒有過度繪制,我猜測(cè)微信使用的可能是層疊類型的布局,比如RelativeLayout
回答2:一般不會(huì)在AbsListView里再嵌套使用AbsListView的, onMeasure(...)會(huì)多次測(cè)量第一個(gè)View.因此, 可能會(huì)導(dǎo)致滾動(dòng)會(huì)出現(xiàn)卡頓的現(xiàn)象.
可以考慮使用GridLayout + ViewStub的方式實(shí)現(xiàn). 自行百度或者Google這倆貨吧. 還可以考慮自定義視圖.
參考開源項(xiàng)目:
github: qii/weiciyuan - Sina Weibo Android Client, 四次元 這是一個(gè)很老的項(xiàng)目了
相關(guān)文章:
1. MySQL 使用 group by 之后然后 IFNULL(COUNT(*),0) 為什么還是會(huì)獲得 null2. wordpress里,這樣的目錄列表是屬于小工具還是啥?3. 一直報(bào)這個(gè)錯(cuò)誤4. 常量在外面不加引號(hào)會(huì)報(bào)錯(cuò)。5. python如何設(shè)置一個(gè)隨著系統(tǒng)時(shí)間變化的動(dòng)態(tài)變量?6. mysql - 大部分?jǐn)?shù)據(jù)沒有行溢出的text字段是否需要拆表7. mysql federated引擎無法開啟8. sublime text3安裝package control失敗9. 我的怎么不顯示啊,話說有沒有QQ群什么的10. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?
