zoukankan      html  css  js  c++  java
  • 安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn

    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>   


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

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

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


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

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

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

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

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

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





  • 相关阅读:
    Linux共享irq的实现描述
    GStreamer使用playbin,如何给动态生成的source组件设置属性?
    如何从H.263 raw data中取出视频的宽高以及Framerate
    GStreamer pipeline的basetime是如何计算出来的?
    GstPad setcaps,getcaps,set_setcaps_function...caps协商解说
    使用aplay播放一个PCM?PCM和WAV文件的区别?
    GStreamer中对RTP包seqnum是否wraparound的判断只用一句代码
    GStreamer如何让videosink在指定的窗口进行图像绘制?
    GStreamer如何获取播放的duration和当前的播放position?
    函数声明与函数表达式
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4491149.html
Copyright © 2011-2022 走看看