android学习日记12--布局管理器

1、概述
布局管理器的用途:
1、可以更好的管理组件;
2、通过使用布局管理器,Android应用程序可以做到平台无关性

布局管理器都是ViewGroup的子类,而ViewGroup也是View的子类

android学习日记12--布局管理器

常用布局管理器的分类:
线性布局管理器,表格布局管理器,相对布局管理器,绝对布局管理器,祯布局管理器

下面分别介绍常用的布局管理器

2、线性布局管理器
LinearLayout,最常用的布局之一。它提供控件水平或垂直排列的模型

常用属性及其对应方法:

android学习日记12--布局管理器

gravity 可取属性说明:

android学习日记12--布局管理器

当需要为gravity设多个值时,可用|分隔开

 

实例:

布局代码

android学习日记12--布局管理器
 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> 
android学习日记12--布局管理器

 

Activity代码:

android学习日记12--布局管理器
 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学习日记12--布局管理器

 

运行效果:每点击添加按钮一次会在下方垂直生成一个按钮

android学习日记12--布局管理器

 

将布局文件中

android:orientation="vertical"   

vertical改为horizontal

每点击一次会在右方水平方向生成一个按钮

android学习日记12--布局管理器

当水平方向该行容不下一个宽度为80的按钮时,按钮就会被压缩,如下图

android学习日记12--布局管理器

此时再点击添加按钮时,画面没有任何变化,不会另起一行添加按钮,超出屏幕的将不会被显示。

 

3、表格布局
留题占座,明天再写

android学习日记12--布局管理器,布布扣,bubuko.com

android学习日记12--布局管理器

上一篇:在LinearLayout中实现列表,列表采用LinearLayout横向布局-android学习


下一篇:android中Bitmap的放大和缩小的方法