Android所有的UI组件都是建立在View,ViewGroup基础之上,ViewGroup又是继承View的子类,作为容器来盛装其它组件,而ViewGroup除了可以包含普通View组件外,还可以再次包含ViewGroup组件,也就是可以嵌套使用。
ViewGroup容器控制其子组件的分布依赖于ViewGroup.LayoutParams,ViewGroup.MarginLayoutParams两个内部类。在些不详述它们的API了,写出来没什么意义,到处都有。
下面用编程方式(不使用XML布局文件)开发UI界面
package WangLi.UI.Space;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class UIActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//创建一个线性布局管理器
LinearLayout layout = new LinearLayout(this);
//设置该Activity显示layout
super.setContentView(layout);
layout.setOrientation(LinearLayout.VERTICAL);
//创建一个TextView
final TextView show = new TextView(this);
//创建一个按钮
Button bn = new Button(this);
bn.setText("单击我");
bn.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
//向Layout容器中添加TextView
layout.addView(show);
//向Layout容器中添加按钮
layout.addView(bn);
//为按钮绑定一个事件监听器
bn.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
show.setText("Hello Android ~" + new java.util.Date());
}
});
}
}
此例出来的效果和第一篇一样