?
目标:
? ? ?布局管理器简介:
? ? ? 线型布局管理器的配置:
? ? ? 通过Activity程序进行线型布局:
默认的布局就是线型布局,例如:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ? android:layout_width="fill_parent" ? ? ? ? -->此布局管理器将填充整个屏幕宽度
? ? android:layout_height="fill_parent" ? -->此布局管理器将填充整个屏幕的高度
? ? android:orientation="vertical" > --->所有组件采用垂直方式由上向下排列
? ? <TextView
? ? ? ? android:layout_width="fill_parent"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:text="@string/hello" />
</LinearLayout>
?
?
android 中总共提供四种布局管理器:
? ?LinearLayout:线性布局管理器(默认),分为水平和垂直两种,只能进行单行布局
? ?FrameLayout:所有的组件放在左上角,一个覆盖一个。
? ?TableLayout:任意行和列的表格布局管理器,其中TableRow代表一行,可以向行中增加组件
? ?RelativeLayout:相对布局管理器,
? ?废除的布局管理器:
?
? (1)线型布局管理器:LinearLayout组件类
java.lang.Object | |||
???? | android.view.View | ||
? | ???? | android.view.ViewGroup | |
? | ? | ???? | android.widget.LinearLayout |
所有的组件包括布局管理器都可以通过类的定义形式完成。
?
LinearLayout.LayoutParams
? ?LinearLayout.LayoutParams 用户指定线型布局的参数
? ?LinearLayout.LayoutParams类的继承结构如下:
?
java.lang.Object | |||
???? | android.view.ViewGroup.LayoutParams | ||
? | ???? | android.view.ViewGroup.MarginLayoutParams | |
? | ? | ???? | android.widget.LinearLayout.LayoutParams |
? LinearLayout.LayoutParams类提供了以下构造方法:
? ? public LinearLayout.LayoutParams(int width,int height)
? 常用的布局参数:
? ?public static final int FILL_PARENT ?//全部填充
? ?public static final int WRAP_CONTENT ?//包裹
?
?
package com.sun.android;
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);// 声明周期方法
LinearLayout layout = new LinearLayout(this);// 定义线性布局
LinearLayout.LayoutParams param = new LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);
layout.setOrientation(LinearLayout.VERTICAL);
//
LinearLayout.LayoutParams txtParam = new LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);
TextView txt=new TextView(this);
txt.setLayoutParams(param);//配置文本显示组件的参数
txt.setText("大连北良科技");
txt.setTextSize(20);
layout.addView(txt,txtParam);//增加组件
setContentView(layout,param);// 增加新的布局管理器
}
}
小结:线型布局管理器有两种排列方式:水平,垂直
? ? ? ? 可以通过LinearLayout类定义线型布局,而布局参数可以使用LinearLayout.LayoutParams类定义完成