Android由 Andy Rubin 创立的一个手机操作系统,后被Google收购。
下面是一些常见的名词:
SDK:(software development kit)软件开发工具包。
AVD:(Android Virtual Device)安卓虚拟设备,在电脑上运行的“虚拟手机”。
ADT:(Android Development Tools)安装在Eclipse上的开发工具插件。
DDMS:(Dalvik Debug Monitor Service)可供Android调试和信息输出的一个控制台
ADB:(Android Debug Bridge)通过ADB工具可以在DOS下使用Linux命令调试AVD
APK:(AndroidPackage)Android程序的发布包
Android基本组件共分为七部分
一.第一组UI组件:布局管理器
1.LinearLayout顾名思义,可以控制各组件横向排列或纵向排列。
下面是XML代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<!-- 组件的排列方式,垂直排列 -->
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
<!-- 组件的对齐方式,底部中间水平对齐 -->
android:gravity="bottom|center_horizontal"
>
<!-- 添加了两个按钮 -->
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
2.TablerLayout继承了LinearLayout,所以它本质依然是线性布局,它是通过添加TableRow来控制行数,TableRow里面可以添加组件来控制列数!
下面是XML代码:其中可看出此布局有《两行一列》。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</TableRow>
</TableLayout>
</LinearLayout>
3.FrameLayout可以把组件叠加在一起,不要小看叠加这么简单,灵活运用效果也是不错的。
下面是XML代码:可看见3个TextView叠加在一块,先添加的组件在上层。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</FrameLayout>
4.RelativeLayout相对布局内子组件的位置由相对兄弟组和父容器来决定。
下面是XML代码:相对布局子组件的 Id 很重要
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
<!-- 该子组件位于容器水平居中 -->
android:layout_centerHorizontal="true"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
<!-- 该子组件相对于id 为textView1 的右侧 -->
android:layout_toRightof="@id/textView1"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
<!-- 该子组件相对于id 为textView1 的下方-->
android:layout_below="@id/textView1"
android:text="TextView" />
</RelativeLayout>
5.GridLayout需要在Android4.0版本以后才能使用,它把容器分割成rows * columns个网格
下面是XML代码:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
<!-- 设置该网格的 行数 和 列数 4*4 -->
android:rowCount="4"
android:columnCount="4">
</GridLayout>
6.AbsoluteLayout是有开发员通过X坐标,Y坐标来控制组件的位置。其中两个XML属性来定位组件的位置layout_x指定该组件的X坐标,layout_Y指定该组件的Y坐标。dp是一种基于屏幕密度的抽象单位,屏幕密度改变时dp的换算也会改变,所以绝对布局一般在开发中比较少用。
下面是XML代码:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout 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_x="112dp"
android:layout_y="84dp"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="109dp"
android:layout_y="200dp"
android:text="Button" />
</AbsoluteLayout>