项目需要做这种可滑动的表格,其实我觉得这些线图更好,没办法,领导要求;
我的技术水平还没法让我徒手写一个这样复杂的控件,我在网上找了一个(原文找不到了,这里就不贴链接了),但是不太完美:第一,表头只有一个TextView,不能显示那种分割的表头;第二:数据只能纵向适配,不能横向适配;所以我在理解了这个代码之后做了改变,完善了这个Demo。
代码我会给出完整的Demo,所以这里我就不贴了,只讲一下原理。PS:只要2积分哦
原来的项目看上去很复杂,其实只要你研究一下就会发现不怎么难,如下图(图片从别的博客复制):
他先在Activity中放一个RelativeLayout,然后用代码将以上的控件逐个添加到RelativeLayout中,为ListView适配数据,因为ListView的Item是一个有用固定数目TextView的LinearLayout,所以只能纵向适配,不能横向适配,然后再根据ListView的条目数为纵向表头的ListView适配数据,再根据Item的数据量来为横向表头的LinearLayout添加同样数量的textview,完成控件的添加。
我修改的地方有两个,第一个是表头,这个比较简单,原来的项目中只是添加一个TextView,我自己写了一个RelativeLayout来替换TextView,如下图:
第二个改动是修改显示数据的ListView的适配器,我通过Item中的LinearLayout动态添加TextView实现了横向适配,其实也不难哈。
最终效果;
项目源码:http://download.csdn.net/download/y280903468/9943651