Android学习之七:使用Container

摘要:
TableLayout不显示行、列或单元格边界。我们还可以设置android:layoutproperty_Span来声明小部件跨越的列数。以下示例确定EditView小部件跨越三列TableLayout的每一列都可以根据其内容进行缩放。相反,我们可以设置android:cshrinkColumns来压缩换行列的内容,以实现列的有效宽度。我们还可以通过设置android:columnsColumns属性来控制列的可见性,该属性可以在用户选择显示重要信息时应用n并屏蔽不重要的信息。您可以在代码中调用setColumnStretchable()、setColumnShrinkable()和setColumnCollepsed()。

3.TableLayout:Android 的TableLayout的布局就像Html的表格一样,可以根据我们的说明来安排widgets的位置。我们可以自己控制屏幕的行数和列数,而每列可以根据包含的内容进行伸缩。

通常情况下,TableLayout有多个TableRow组成,每个TableRow就是一行,定义几个TableRow就是定义几行。TableLayout不会显示行或者列或者cell的边线。TableLayout的行数是由我们自己声明的,列数也是由我们间接控制的。最长的行中的每个 widget至少跨越一列,如果我们定义了三行,一行有两个widgets,一行有三个widgets,还有一个有四个,则该布局至少有四列。 我们也可以通过设置属性android:layout_span来声明一个widget跨越的列数。下面的例子标识EditView widget跨越了三列。

<TableRow>
  <TextView android:text=”URL:” />
  <EditText
    android:id=”@+id/entry”
   android:layout_span=”3″/>
</TableRow>

TableLayout的每列可以根据包含的内容进行伸缩。这个是通过 TableLayout的属性android:stretchColumns来设置的,该属性的值可以设置单个列数,或者是由逗号分隔的列数组合。这些列自动扩展来占据行中可用的空间。相反的,我们可以通过设置android:shrinkColumns来word-wrap 列包含的内容,以达到压缩列的有效宽度。我们也可以通过设置android:collapseColumns 属性来控制列的可见与否,这在用户选择显示重要信息,屏蔽不重要信息的时候可以应用。可以在代码中调用setColumnStretchable() 和setColumnShrinkable()、setColumnCollapsed() 。

注意:列数是从0开始计数的。

<TableLayout xmlns:android=”http://schemas.android.com/apk/res/android”
    android:layout_width=”fill_parent” android:layout_height=”fill_parent”
    android:stretchColumns=”4″>
    <TableRow>
        <TextView android:layout_width=”wrap_content”
            android:layout_height=”wrap_content” android:text=”hello” />
        <EditText android:id=”@+id/entry” android:text=”world”
            android:layout_span=”3″ />
        <EditText android:text=”this is a test” android:layout_span=”2″ />
        />
    </TableRow>
    <TableRow>
        <Button android:id=”@+id/cancel” android:layout_column=”2″
            android:text=”Cancel” />
        <Button android:id=”@+id/ok” android:text=”OK”
         android:layout_column=”5″ />
    </TableRow>
</TableLayout>

运行效果如下:

Android学习之七:使用Container第1张

在看如下代码:

<TableLayout xmlns:android=”http://schemas.android.com/apk/res/android”
    android:layout_width=”fill_parent” android:layout_height=”fill_parent”
         android:stretchColumns=”4″
         android:collapseColumns=”2″>//隐藏第三列
    <TableRow>
        <TextView android:layout_width=”wrap_content”
            android:layout_height=”wrap_content” android:text=”hello” />
        <EditText android:id=”@+id/entry” android:text=”world”
        android:layout_span=”3″ />
        <EditText android:text=”this is a test” android:layout_span=”2″ />
        />
    </TableRow>
    <TableRow>
        <Button android:id=”@+id/cancel” android:layout_column=”2″
            android:text=”Cancel” />
        <Button android:id=”@+id/ok” android:text=”OK”
            android:layout_column=”5″ />
    </TableRow>
</TableLayout>

Android学习之七:使用Container第2张

4.ScrollView:提供滚动条的 Container。

<ScrollView
  xmlns:android=”http://schemas.android.com/apk/res/android”
  android:layout_width=”fill_parent”
  android:layout_height=”wrap_content”>
  <TableLayout
    android:layout_width=”fill_parent”
    android:layout_height=”fill_parent”
    android:stretchColumns=”0″>
    <TableRow>
      <View
        android:layout_height=”80px”
        android:background=”#000000″/>
      <TextView android:text=”#000000″
        android:paddingLeft=”4px”
        android:layout_gravity=”center_vertical” />
    </TableRow>
    <TableRow>
      <View
        android:layout_height=”80px”
        android:background=”#440000″ />
      <TextView android:text=”#440000″
        android:paddingLeft=”4px”
        android:layout_gravity=”center_vertical” />
    </TableRow>
    <TableRow>
      <View
        android:layout_height=”80px”
        android:background=”#884400″ />
      <TextView android:text=”#884400″
        android:paddingLeft=”4px”
        android:layout_gravity=”center_vertical” />
    </TableRow>
    <TableRow>
      <View
        android:layout_height=”80px”
        android:background=”#aa8844″ />
      <TextView android:text=”#aa8844″
        android:paddingLeft=”4px”
        android:layout_gravity=”center_vertical” />
    </TableRow>
    <TableRow>
      <View
        android:layout_height=”80px”
        android:background=”#ffaa88″ />
      <TextView android:text=”#ffaa88″
      android:paddingLeft=”4px”
        android:layout_gravity=”center_vertical” />
    </TableRow>
    <TableRow>
      <View
        android:layout_height=”80px”
        android:background=”#ffffaa” />
      <TextView android:text=”#ffffaa”
        android:paddingLeft=”4px”
        android:layout_gravity=”center_vertical” />
    </TableRow>
    <TableRow>
      <View
        android:layout_height=”80px”
        android:background=”#ffffff” />
      <TextView android:text=”#ffffff”
        android:paddingLeft=”4px”
        android:layout_gravity=”center_vertical” />
    </TableRow>
  </TableLayout>
</ScrollView>

运行效果如下:

Android学习之七:使用Container第3张

免责声明:文章转载自《Android学习之七:使用Container》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇初学vue出现空格警告的原因及其解决办法Asp.NetCore+Microsoft.AspNetCore.SignalR前后端分离下篇

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

相关文章

Unity2019使用Android Studio 4出安卓包

前言 在我所经历的项目组中有这几种方法来生成APK 直接在Unity生成APK,可以接入SDK 使用Unity导出Android Studio工程手动生成APK 使用Unity导出Android Studio工程命令行离线生成APK 这里记录一下我在项目组使用Android Studio出包的笔记。 使用Unity导出Android Studio工程前...

Android 5.0 以上监听网络变化

大家好,大概有一个多月没有更新博客了,我是干什么去了呢?很明显,程序员当然要加班……这一次跟大家分享一下新项目的一些心得。 监听网络变化在开发中是经常用到的,例如我们断网有一些友好的提示,或者根据不同的网络更改一些加载策略,例如wifi看视频,非wifi则会有一个提示,还有极个别更恶心的偷摸的在后台给你下各种安装包,是谁我就不一一列举了。 在5.0以前,我...

安卓Camera APP

一、Camera          package android.hardware            该类用于设定图像捕获设置,开启/关闭预览,抓拍图片以及获取帧用于编码视频。这个类是Camera服务的客户端,用于管理真实的照相机硬件。          为了能够访问照相机,你必须在你的Android Manifest内声明CAMERA权限。同时确保...

五 Android Capabilities讲解

1.Capabilities介绍 可以看下之前代码里面设置的capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("automationName", "Appium"); capabilities...

Unity3d与android通信

                                                   Unity3d与android通信                                                                                                           @广州小...

MAC连接安卓手机通过adb指令安装apk

Android的apk可以通过adb命令来安装。在MAC电脑上,如果想通过命令行的方式给安卓手机安装apk,需要做以下操作; 一句话概括就是:将安卓SDK的adb命令添加到环境变量中,然后通过adb install方式将apk从电脑上安装到手机中。 具体操作如下: 1、点击Finder,右键选择“前往文件夹”,输入“/etc”,在“操作”中选择“显示简介”...