package com.Layout.main;
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.TextView;
public class LayoutActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams
(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);
//设置顶部,左边布局
params.gravity=Gravity.TOP|Gravity.LEFT;
TextView top=new TextView(this);
//控件字体位置位于左边
top.setGravity(Gravity.LEFT);
top.setText("顶部");
//添加控件
addContentView(top, params);
FrameLayout.LayoutParams params2 = new FrameLayout.LayoutParams
(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);
//设置中间位置
params2.gravity=Gravity.CENTER;
TextView center=new TextView(this);
//字体位于中部
center.setGravity(Gravity.CENTER);
center.setText("中部");
//添加控件
addContentView(center, params2);
FrameLayout.LayoutParams params3 = new FrameLayout.LayoutParams
(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT);
//设置底部
params3.gravity=Gravity.BOTTOM|Gravity.RIGHT;
Button bottom=new Button(this);
//字体位于中部
bottom.setGravity(Gravity.RIGHT);
bottom.setText("底部");
//添加控件
addContentView(bottom, params3);
}
}
addContentView和setContentView的区别:
两者的区别主要包括两点: 1. 以添加UI组件是否被移除 setContentView() 会导致先前添加的被移除, 即替换性的; 而 addContentView() 不会移除先前添加的UI组件,即是累积性的 2. 是否控制布局参数 addContentView() 有两个参数, 可以控制布局参数; 你指出的这个setContentView 没有接受布局参数, 默认使用MATCH_PARENT; 不过setContentView()也有带两个参数的版本, 可以控制布局参数。