android——相对布局,表格布局

  1.相对布局

      RelativeLayout 又称作相对布局,也是一种非常常用的布局。和LinearLayout 的排列规则不同,RelativeLayout 显得更加随意一些,它可以通过相对定位的方式让控件出现在布局的任何位置。也正因为如此,RelativeLayout 中的属性非常多,不过这些属性都是有规律可循的,其实并不难理解和记忆。

  

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Button 1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Button 2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Button 3" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Button 4" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Button 5" />
</RelativeLayout>

效果图为

  

  2.表格布局

    TableLayout 允许我们使用表格的方式来排列控件,这种布局也不是很常用,你只需要了解一下它的基本用法就可以了。既然是表格,那就一定会有行和列,在设计表格时我们尽量应该让每一行都拥有相同的列数,这样的表格也是最简单的。不过有时候事情并非总会顺从我们的心意,当表格的某行一定要有不相等的列数时,就需要通过合并单元格的方式来应对。

  

  1 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2     xmlns:tools="http://schemas.android.com/tools"
  3     android:layout_width="match_parent"
  4     android:layout_height="match_parent"
  5     android:stretchColumns="*"
  6     tools:context="com.calc.minicalculator.MainActivity" >
  7
  8
  9
 10          <TextView
 11         android:id="@+id/textView1"
 12         android:layout_width="match_parent"
 13         android:layout_height="109dp"
 14         android:layout_gravity="center_horizontal|top"
 15         android:gravity="right|center_vertical"
 16         android:text=""
 17
 18         android:textSize="40dp"
 19         android:textStyle="bold" />
 20
 21
 22          <TableRow
 23              android:layout_weight="1"
 24              android:id="@+id/tableRow1"
 25              android:layout_width="wrap_content"
 26              android:layout_height="match_parent" >
 27
 28              <Button
 29                  android:id="@+id/button1"
 30                  android:layout_width="wrap_content"
 31                  android:layout_height="match_parent"
 32                  android:text="清屏" />
 33
 34              <Button
 35                  android:id="@+id/button2"
 36                  android:layout_width="wrap_content"
 37                  android:layout_height="match_parent"
 38                  android:text="space" />
 39
 40              <Button
 41                  android:id="@+id/button3"
 42                  android:layout_width="wrap_content"
 43                  android:layout_height="match_parent"
 44                  android:text="+" />
 45
 46              <Button
 47                  android:id="@+id/button4"
 48                  android:layout_width="wrap_content"
 49                  android:layout_height="match_parent"
 50                  android:text="-" />
 51
 52          </TableRow>
 53
 54          <TableRow
 55              android:layout_weight="1"
 56              android:id="@+id/tableRow2"
 57              android:layout_width="wrap_content"
 58              android:layout_height="match_parent" >
 59
 60              <Button
 61                  android:id="@+id/button5"
 62                  android:layout_width="wrap_content"
 63                  android:layout_height="match_parent"
 64                  android:text="7" />
 65
 66              <Button
 67                  android:id="@+id/button6"
 68                  android:layout_width="wrap_content"
 69                  android:layout_height="match_parent"
 70                  android:text="8" />
 71
 72              <Button
 73                  android:id="@+id/button7"
 74                  android:layout_width="wrap_content"
 75                  android:layout_height="match_parent"
 76                  android:text="9" />
 77
 78              <Button
 79                  android:id="@+id/button8"
 80                  android:layout_width="wrap_content"
 81                  android:layout_height="match_parent"
 82                  android:text="*" />
 83
 84          </TableRow>
 85
 86          <TableRow
 87              android:layout_weight="1"
 88              android:id="@+id/tableRow3"
 89              android:layout_width="wrap_content"
 90              android:layout_height="match_parent" >
 91
 92              <Button
 93                  android:id="@+id/button9"
 94                  android:layout_width="wrap_content"
 95                  android:layout_height="match_parent"
 96                  android:text="4" />
 97
 98              <Button
 99                  android:id="@+id/button10"
100                  android:layout_width="wrap_content"
101                  android:layout_height="match_parent"
102                  android:text="5" />
103
104              <Button
105                  android:id="@+id/button11"
106                  android:layout_width="wrap_content"
107                  android:layout_height="match_parent"
108                  android:text="6" />
109
110              <Button
111                  android:id="@+id/button12"
112                  android:layout_width="wrap_content"
113                  android:layout_height="match_parent"
114                  android:text="/" />
115
116          </TableRow>
117
118          <TableRow
119              android:layout_weight="1"
120              android:id="@+id/tableRow4"
121              android:layout_width="wrap_content"
122              android:layout_height="match_parent" >
123
124              <Button
125                  android:id="@+id/button13"
126                  android:layout_width="wrap_content"
127                  android:layout_height="match_parent"
128                  android:text="1" />
129
130              <Button
131                  android:id="@+id/button14"
132                  android:layout_width="wrap_content"
133                  android:layout_height="match_parent"
134                  android:text="2" />
135
136              <Button
137                  android:id="@+id/button15"
138                  android:layout_width="wrap_content"
139                  android:layout_height="match_parent"
140                  android:text="3" />
141
142              <Button
143                  android:id="@+id/button19"
144                  android:layout_width="wrap_content"
145                  android:layout_height="match_parent"
146                  android:text="." />
147
148          </TableRow>
149
150          <TableRow
151              android:layout_weight="1"
152              android:id="@+id/tableRow5"
153              android:layout_width="wrap_content"
154              android:layout_height="match_parent"
155           >
156
157              <Button
158                  android:id="@+id/button17"
159                  android:layout_width="wrap_content"
160                  android:layout_height="match_parent"
161                  android:text="0"
162                 android:layout_span="2"
163                  />
164
165              <Button
166                  android:id="@+id/button16"
167                  android:layout_width="wrap_content"
168                  android:layout_height="match_parent"
169                  android:text="="
170                   android:layout_span="2"/>
171
172          </TableRow>
173
174 </TableLayout>

效果图:

  

时间: 2024-10-13 21:00:06

android——相对布局,表格布局的相关文章

Android笔记(九) Android中的布局——表格布局

TableLayout运行我们使用表格的方式来排列控件,它的本质依然是线性布局.表格布局采用行.列的形式来管理控件,TableLayout并不需要明确的声明包含多少行多少列,而是通过添加TableRow.其他组件来控制表格的行数和列数. 每次向Table中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它也可以不断的添加其他组件,每添加一个子组件该表格就增加一列. 实例代码,实现一下简单的登录界面 tablelayout.xml <?xml versio

【Android】利用表格布局,Android中xml文件与java的交互制作登录界面

登录界面是图形编程.网页编程的一个经典而又基础的程序. 在安卓中,如图所示一个基本登录界面: 点击取消按钮就关闭这个程序,点击登录按钮则显示用户输入的用户名与密码. 一.基本布局 这个程序利用到安卓中的表格布局. 先打开res/values/strings.xml中定义几个字符串.之所以不直接把字符串直接写在activity_main.xml的组件中,是因为免得Eclipse出现警告.这个文件的代码如下: <?xml version="1.0" encoding="ut

.Net程序员玩转Android开发---(8)表格布局TableLayout

表格布局TableLayout是Android中比较常用的一个布局控件,既然是表格,肯定有行和列,TableLayout中的行有TableRow组成,列根据每行控件的数量来确定 假如第一行有3个控件,第2行有4个控件,那么这个表格的列数就去最大列数,即4列. 1.属性介绍 表格有以下几个重要属性 android:shrinkColumns="2" 自动收缩的列,多个列用逗号隔开,自动收缩的意思是如果该列的内容超出了表格列的宽度,自动向下显示 android:stretchColumns

android学习——TableLayout表格布局

TableLayout表格布局 TableLayout是指将子元素的位置分配到行或列中.Android的一个TableLayout有许多TableRow组成,每一个TableRow都会定义一个Row.TableLayout容器不会显示Row,Column,及Cell的边框线,每个Row拥有0个或多个Cell,每个Cell拥有一个View对象. 在使用tablelayout时,应注意每一个cell的宽度. 我们下面通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个

Android中的表格布局TableLayout

表格布局最主要的三个属性: XML代码实例: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_p

Android之TableLayout表格布局

1.相关属性 1.1.常用属性 android:collapseColumns 设置需要被隐藏的列的序列号 android:shrinkColumns 设置允许被收缩的列的序列号 android:stretchColumns 设置运行被拉伸的列的序列号 注意: 列号都是从0开始算,设置多个"1,3",所有列都生效"*" android:layout_column = "2" 表示跳过第二个 android:layout_span = "

android:TableLayout表格布局详解

1.TableLayout简介2.TableLayout行列数的确定3.TableLayout可设置的属性详解4.一个包含4个TableLayout布局的实例及效果图 一.Tablelayout简介       Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件.         当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列.         当为View时,该View将独占一行.二.Tabl

Android开发-之五大布局

在html中大家都知道布局是什么意思了,简单来说就是将页面划分模块,比如html中的div.table等.那么Android中也是这样的.Android五大布局让界面更加美化,开发起来也更加方便.当然布局方式不一样应用的地方也不一样,当然了有的布局方式也是可以相互转换和嵌套使用的.它们都各有各的优缺点,具体页面要怎么布局还是得看开发需求,但是用的最多的还是相对布局.线性布局以及相对布局和线性布局的嵌套使用.当然,我说的是安卓,并没有指定是安卓手机,比如平板.智能家居(电视...)很多都是Andr

Android开发计算器之布局

学习了一段时间的安卓,现在开始操作一个小例子--计算器.相信我们的手机中都有计算器这个软件,但是你知道它是怎么进行具体操作的吗?其实我暂时也还不知道,现在就简单的布局来做一个小总结. 对于一个软件,漂亮的用户界面(UI)总能给使用者留下深刻印象,这也是我们听了界面设计课之后应有的思想.对于Android这样的手机应用软件而言,用户界面更是不可忽略的.在Android中,View是所有可视化控件的基类,它有五大布局方式: 线性布局 线性布局(LinearLayout)是较简单的一个布局,它提供了控

Android开发5大布局方式详解

Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(TableLayout):按照行列方式布局组件. 相对布局(RelativeLayout):相对其它组件的布局方式. 绝对布局(AbsoluteLayout):按照绝对坐标来布局组件. 1. 线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android: