安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn

摘要:
TableLayout中的列数等于TableRow中具有最多子控件的列数。安卓:shrinkColumns设置可收缩的列。示例:android:streatchColumns=“0”列0可扩展android:shernkColumns=“1,2”列1和2可扩展androx:columnsColumns=“*”隐藏所有行描述:列可以同时具有streatchColumns和shrinkColumns属性。如果是这样,当该列有N个以上的内容时,其内容将显示在“多行”中。

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

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



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

1、全局属性也即列属性,有以下3个参数:

android:stretchColumns    设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。

android:shrinkColumns     设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。

android:collapseColumns 设置要隐藏的列。


示例:

android:stretchColumns="0"           第0列可伸展

android:shrinkColumns="1,2"         第1,2列皆可收缩

android:collapseColumns="*"         隐藏所有行

说明:列可以同时具备stretchColumns及shrinkColumns属性,若此,那么当该列的内容N多时,将“多行”显示其内容。(这里不是真正的多行,而是系统根据需要自动调节该行的layout_height)

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

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

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

示例:

android:layout_column="1"    该控件显示在第1列

android:layout_span="2"        该控件占据2列

说明:一个控件也可以同时具备这两个特性。




TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果。本文主要介绍TableLayout的基本使用方法。

 
<?xml version="1.0" encoding="utf-8"?> 
 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent" 
               >  
     <TableRow> 
     <Button  
         android:id="@+id/button1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"             
         android:text="Button1" 
         android:layout_column="0"/> 
      <Button  
          android:id="@+id/button2" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Hello, I am a Button2" 
          android:layout_column="1"/> 
     </TableRow> 
 </TableLayout>   

 


安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn第1张

1 android:stretchColumns = "指定的列" ------->以第0行为序,尽量把指定的列填充空白部分

设置stretchColumns=0,则结果如下图,第0列被尽量填充

安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn第2张

设置stretchColumns=1,则结果如下图,第1列被尽量填充

安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn第3张

 

2 android:shrinkColumns = "指定的列":以第0行为序,自动延伸指定的列填充可用部分

当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图

安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn第4张

当LayoutRow里面的控件还没有布满布局时(改写一下第三个Button的内容)

安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn第5张

3 android:collapseColumns = “指定的列”  第0行为序,隐藏指定的列>

android:collapseColumns该属性为空时,如下图:

安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn第4张

android:collapseColumns=“0”  意思是把第0列去掉,如下图:

 


安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn第7张

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Windows 7 封装与定制不完全教程Asp.Net 之 基本控件FileUpload上传控件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android学习之七:使用Container

3.TableLayout:Android 的TableLayout的布局就像Html的表格一样,可以根据我们的说明来安排widgets的位置。我们可以自己控制屏幕的行数和列数,而每列可以根据包含的内容进行伸缩。 通常情况下,TableLayout有多个TableRow组成,每个TableRow就是一行,定义几个TableRow就是定义几行。TableL...

【转】Appium如何定位安卓APP元素

转载原文:https://www.jianshu.com/p/efe9dcf8bbaf 一、定位工具 在安装appium环境的时候我们已经安装了SDK,里面就自带有元素定位的工具,位置在.../sdk/tools/uiautomatorviewer.bat,由于安装路径各有不同,如果实在找不到可以具体路径,可以在电脑中查找uiautomatorvie...

Android二维码功能实现

最近二维码真是越来越火了,随便电视上、网络上、商场里,到处都是二维码。而内嵌二维码扫描功能的软件也越来越多,QQ、微信、UC浏览器等等应用都可以对着二维码扫一扫,感觉我们自己的应用里不加上二维码扫描功能,都跟不上时代潮流了。所以今天我就将带着大家一起,在我们自己的程序里加入二维码扫描的功能。 不过,二维码功能如果真要做起来还是非常复杂的,从零开始实现不太现...

智能手机+DIY红外=万能遥控器

目前好像只有:三星S4.,努比亚大牛,华为荣耀3等几款新机才有红外遥控功能,那我们使用的手机没有这个功能怎么办?不要急我有办法呵呵,本次DIY材料好找又简单,大家都可以亲自试一试!DIY材料:红外二极管2个(没有可以在旧的遥控器上拆),3.5耳机插头一个制作方法:如下图(我辛苦做的图不要盗用哦,给个赞吧!)DIY开始:两个红外二极管反向并到一起焊接焊到3....

Android网页浏览器的开发

Android网页浏览器的核心Widget是包含了WebKit的WebView。 首先,布局文件activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.and...

关于android中EditText边框的问题 下划线

方法1   将edittext的style设置成?android:attr/textViewStyle 取消掉默认的样式,在设置background为@null 接下来就是一个空空的edittext了, 在两个edittext中间加一个view,设置background为灰色,宽度match_parent,高度2dip看看。 如果可以了就采纳吧。不行的话...