這樣的列表要怎麼實現???一臉懵逼啊!!
第一個反應就是自定義View,大概就是畫出六邊形,再畫父容器,網上找了一圈,各種套路,都太麻煩,沒耐心弄了。
其實很簡單,一個原生ListView就可以實現。思路:
1.找UI切好六邊形圖片,注意圖片不要有多餘的空白佔位,寬高就是六邊形本身寬高;
2.listview寬度設置爲(六邊形寬度 /2*3),就是item的寬度;
3.listview設置dividerHeight=-n,n就是六邊形其中一點爲頂點的等腰三角形的高,這裏是負值,這樣兩個item之間就會有重疊部分,記得把divider設置爲透明;
4.在Adapter裏面將裝圖片的view一個靠左一個靠右就好了;
if (position % 2 != 0){
RelativeLayout.LayoutParams params =
(RelativeLayout.LayoutParams)holder.item.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
holder.item.setLayoutParams(params);
}else {
RelativeLayout.LayoutParams params =
(RelativeLayout.LayoutParams)holder.item.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
holder.item.setLayoutParams(params);
}
其他的如選中或點擊效果或點擊事件就按正常思路實現就OK了。