android实现复杂table表格合并单元格?

android怎么实现这样的表格?... android怎么实现这样的表格? 展开
 我来答
青鸟中关村专家
推荐于2016-04-06 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部

可以通过Tablelayout布局的layout_span属性实现,layout_span指定该单元格占据的列数

1、Tablelayout简介

       Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。 当为View时,该View将独占一行。

2、TableLayout行列数的确定

           TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。

        TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4.

3、TableLayout可设置的属性详解

TableLayout可设置的属性包括全局属性及单元格属性。

单元格属性,有以下2个参数:

android:layout_column    指定该单元格在第几列显示

android:layout_span        指定该单元格占据的列数(未指定时,为1)

示例:

android:layout_column="1"    该控件显示在第1列
android:layout_span="2"        该控件占据2列

4、一个TableLayout布局的实例

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:padding="3dip"  
    >  
    <!-- 1个TableLayout,用于描述表中单元格的属性,包括:android:layout_column 及android:layout_span-->  
    <TextView   
        android:text="表:单元格设置:指定单元格属性设置"  
        android:layout_height="wrap_content"   
        android:layout_width="wrap_content"  
        android:textSize="15sp"  
        android:background="#7f00ffff"/>   
    <TableLayout  
        android:id="@+id/table2"  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:padding="3dip">  
        <TableRow>  
            <Button android:text="第0列"/>  
            <Button android:text="第1列"/>  
            <Button android:text="第2列"/>  
        </TableRow>  
          
        <TableRow>  
            <TextView android:text="我被指定在第1列" android:layout_column="1"/>  
        </TableRow>  
              
        <TableRow>  
            <TextView  
                android:text="我跨1到2列,不信你看!"  
                android:layout_column="1"  
                android:layout_span="2"  
                />  
        </TableRow>  
          
    </TableLayout>
daojianqingcho
推荐于2017-11-26 · TA获得超过452个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:135万
展开全部
看你列数固定否,我做过类似项目,简单的方法如下:
1、表格行、列固定的,你每个单元格当成一个TextView,中间的表格线也是TextView,你懂得。像最左侧的合并3行的单元格可以用线性布局为控制。
2、表格列数不定的,表头用TextView做好固定的,下边放一个ListView,ListView的每一行用固定的格式,格式文件的写法同上。
明白吧,有不明白的我再补充。
追问

列是固定的,行也固定,以周为单位,从周一到周日

第一种方法我也试过,但是布局文件得写很多,有将近两千行代码,效率低,而且还不能自适应屏幕和分辨率,如图:

第二种方法没试,ListView怎么实现合并单元格,方便留下QQ吗,我加你,向你请教一下,谢谢啊!有实现的具体例子吗?或者相关的参考资料也行!我的邮箱:lanras@163.com

追答
我的QQ1802798025,欢迎讨论。项目有保密协议,我不敢发。我们可以QQ上讨论。
ListView对每一行显示的内容也是通过一个XML布局显示的,你这个表格,一周中的某一天对应着3行,而这3行是重复7次,你可以把这重复的内容写成一个XML,然后在ListView的Adapter里往进放对应的数据。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式