码迷,mamicode.com
首页 > 其他好文 > 详细

TableLayout 表格布局 实现展示ViewGroup内所有View

时间:2015-05-06 11:02:23      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

 设计需求:

  ViewGroup内有两个View,ViewA, ViewB,需要两个View全部展示在屏幕范围内的ViewGroup中,不允许ViewA的增长会使ViewB挤出屏幕,这就需要ViewB允许拉伸不允许收缩,并且ViewA允被收缩。

  过程如下:

  当ViewA缩小时,ViewB跟随拉伸:
  如图所示:

  技术分享技术分享

 当ViewA宽度过长,假设9000dp或者更大,ViewB因为不允许收缩,所以ViewB还原到设置width后保持不变,不会被挤出屏幕,ViewA自动收缩
 如图所示:

  技术分享

  抽象逻辑以后,要实现这种设计需求,就必须满足以上条件,这是如果使用LinerLayout,RelativeLayout,FrameLayout,因为没有拉伸缩放属性设置,很难实现需求。
  此需求和Excel表格实现效果十分相似,所以想到TableLayout就可以完美解决问题,于是代码如下:
<TableLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="1" //设置第一列允许被拉伸
            android:shrinkColumns="0"> //设置滴零列允许收缩
        <TableRow>

            <Button
                    android:id="@+id/btn01"
                    android:layout_width="9000dp"
                    android:layout_height="200dp"
                    android:background="@color/starfish_blue_normol"
                    android:text="允许被收缩\nViewA">
            </Button>

            <Button
                    android:id="@+id/btn02"
                    android:layout_width="120dp"
                    android:layout_height="200dp"
                    android:background="@color/red"
                    android:text="允许被拉伸\nViewB">
            </Button>
        </TableRow>
    </TableLayout>
 


TableLayout 表格布局 实现展示ViewGroup内所有View

标签:

原文地址:http://blog.csdn.net/u012636086/article/details/45531161

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!