这样的列表要怎么实现???一脸懵逼啊!!
第一个反应就是自定义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了。