android 布局

android学习笔记(一 android布局学习)

转自http://blog.sina.com.cn/s/blog_61c62a960100ev3q.html

(2009-09-20 20:50:44)
标签:

it

分类:android

  最近痴迷上了android , 因为有java 语言的基础学起来自己感觉很快。但是毕竟是做java ee的,这一下转到手机上还是有那么点不适应。为了把自己的学习成果总结一下,特写了这个android系列的学习笔记,下面进入正题

  我的android开发环境是搭建在windows xp系统下的,搭建过程很简单。使用了MyEclipse6.5,sdk1.5_r2,jdk_1.6,以及ADT。最后输出了一个hello word。 有了这一步,我便进入了下一步的学习。我认为学android还是应该先学他的 布局方式以及控件的用途。这也是今天我想写在我的学习笔记里的内容。

 第一次仔细看android的一个程序,发现他有很多的xml文件。当时想的第一个问题就是,这些xml文件之间是如何进行关联的?假如我要自己写一个android程序,我应该先写什么?或者先配置什么?还是写完以后可以实现自动配置?带着这些问题 我进入了android布局的学习。

  android我目前所学习到的布局方式有以下几种:

1. LineraLayout局部 线性布局

感觉这个布局方式是最常见的一种。它有两种布局方式:行 与列。是由参数orientation(方位)决定的。vertical表示竖直排列,horizontal表示横向排列.

具体代码如

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">

 每个参数都要以android:开头。一般都有android:layout_width和android:layout_height 具体的值有两个一个是fill_parent 一个是wrap_content  每一个布局都是一个容器,layout_width与height表示这个容器的宽 与高是填充满父容器,还是依赖于他本身的内容

2. FrameLayout布局 框架布局

这个布局一般是放图片的,放入其中的所有元素都被放置在FrameLayout区域最左上的区域,而且无法为这些元素指定一个确切的位置。如果一个FrameLayout里有多个子元素,那么后边的子元素的显示会重叠在前一个元素上。这个布局方式的宽与高的参数一般是用wrap_content。

3. RelativeLayout布局 相对布局

这个布局很常见。具体代码比如:

<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent" android:layout_height="wrap_content"
 android:background="@drawable/blue" android:padding="10dip">

 <TextView android:id="@+id/label" android:layout_width="fill_parent"
  android:layout_height="wrap_content" android:text="请输入用户名:" />

 <!--
  这个EditText放置在上边id为label的TextView的下边
 -->
 <EditText android:id="@+id/entry" android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:background="@android:drawable/editbox_background"
  android:layout_below="@id/label" />

 <!--
  取消按钮和容器的右边齐平,并且设置左边的边距为10dip
 -->
 <Button android:id="@+id/cancel" android:layout_width="wrap_content"
  android:layout_height="wrap_content" android:layout_below="@id/entry"
  android:layout_alignParentRight="true"
  android:layout_marginLeft="10dip" android:text="取消" />

 <!--
  确定按钮在取消按钮的左侧,并且和取消按钮的高度齐平
 -->
 <Button android:id="@+id/ok" android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_toLeftOf="@id/cancel"
  android:layout_alignTop="@id/cancel" android:text="确定" />

</RelativeLayout>
在这个容器里放置了一些组件,每个组件里多了一些对他们位置关系的描述,比如android:layout_below="@id/label" 表示放在id为label的控件下面== 要注意的是,如果组件B依赖于A,那么必须要让A出现在B的前面。

padding表示填充,margin表示边距。android当中最常见的支持描述大小区域的类型如下 px像素 dip依赖于设备的像素.

4. TableLayout 表格布局

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent" android:layout_height="fill_parent"
 android:stretchColumns="1">

 <TableRow>
  <TextView android:text="用户名:" android:textStyle="bold"
   android:gravity="right" android:padding="3dip" />

  <EditText android:id="@+id/username" android:padding="3dip"
   android:scrollHorizontally="true" />
 </TableRow>

 <TableRow>
  <TextView android:text="登录密码:" android:textStyle="bold"
   android:gravity="right" android:padding="3dip" />

  <EditText android:id="@+id/password" android:password="true"
   android:padding="3dip" android:scrollHorizontally="true" />
 </TableRow>

 <TableRow android:gravity="right">

  <Button android:id="@+id/cancel"
   android:text="取消" />

  <Button android:id="@+id/login"
   android:text="登录"  android:layout_width="wrap_content"
   android:layout_height="wrap_content"/>
 </TableRow>
</TableLayout>

里面是由多个TableRow组成的。一行一行的很好理解。

布局方式是可以组合在一起的。这个也不难理解。

这个布局的学习笔记就先写到这里。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值