android 六邊形豎列布局

這樣的列表要怎麼實現???一臉懵逼啊!!

第一個反應就是自定義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了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章