1、概述
布局管理器的用途:
1、可以更好的管理組件;
2、通過使用布局管理器,Android應用程序可以做到平台無關性
布局管理器都是ViewGroup的子類,而ViewGroup也是View的子類
常用布局管理器的分類:
線性布局管理器,表格布局管理器,相對布局管理器,絕對布局管理器,祯布局管理器
下面分別介紹常用的布局管理器
2、線性布局管理器
LinearLayout,最常用的布局之一。它提供控件水平或垂直排列的模型
常用屬性及其對應方法:
gravity 可取屬性說明:
當需要為gravity設多個值時,可用|分隔開
實例:
布局代碼
復制代碼
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 android:id="@+id/lla"
7 android:gravity="right"
8 >
13 <!-- 聲明一個 LinearLayout 布局,並設置其屬性 -->
14
15 <Button
16 android:text="添加"
17 android:id="@+id/Button01"
18 android:layout_width="wrap_content"
19 android:layout_height="wrap_content">
20 </Button>
21
24 <!-- 聲明一個 Button 布局,並設置其 id 為 Button01 -->
25 </LinearLayout>
復制代碼
Activity代碼:
復制代碼
1 package com.example.layout;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.View;
6 import android.widget.Button;
7 import android.widget.LinearLayout;
8
9 public class MainActivity extends Activity {
10
11 int count = 0;
12
13 // 計數器,記錄按鈕個數
14 @Override
15 public void onCreate(Bundle savedInstanceState) { // 重寫 onCreate 方法
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.horizontal_layout);
18 Button button = (Button) findViewById(R.id.Button01);
19
20 // 獲取屏幕中的按鈕控件對象
21 button.setOnClickListener(
22 // 為按鈕添加 OnClickListener 接口實現
23
24 new View.OnClickListener() {
25
26 public void onClick(View v) {
27
28 LinearLayout ll = (LinearLayout) findViewById(R.id.lla);
29
30 // 獲取線性布局對象
31
32 String msg = MainActivity.this.getResources().getString(
33 R.string.button);
34
35 Button tempbutton = new Button(MainActivity.this);
36
37 // 創建一個 Button 對象
38
39 tempbutton.setText(msg + (++count)); // 設置 Button 控件顯示的內容
40
41 tempbutton.setWidth(80);
42
43 // 設置 Button 的寬度
44
45 ll.addView(tempbutton);
46
47 // 向線性布局中添加 View
48
49 }
50
51 });
52
53 }
54 }
復制代碼
運行效果:每點擊添加按鈕一次會在下方垂直生成一個按鈕
將布局文件中
android:orientation="vertical"
vertical改為horizontal
每點擊一次會在右方水平方向生成一個按鈕