一,frameLayout:所有控件以屏幕原點爲起點層層疊加
關鍵代碼如下:
super.onCreate(savedInstanceState);
FrameLayout layout = new FrameLayout(this); // 定義幀佈局管理器
FrameLayout.LayoutParams layoutParam = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT); // 定義佈局管理器的參數
FrameLayout.LayoutParams viewParam = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT); // 定義顯示組件的參數
ImageView img = new ImageView(this); // 定義圖片組件
img.setImageResource(R.drawable.radio); // 定義顯示的圖片
EditText edit = new EditText(this); // 定義文本輸入組件
edit.setText("請輸入您的姓名..."); // 設置顯示的文字
Button but = new Button(this); // 定義按鈕
but.setText("點擊"); // 設置按鈕的文字
layout.addView(img, viewParam); // 增加組件
layout.addView(edit, viewParam); // 增加組件
layout.addView(but, viewParam); // 增加組件
super.setContentView(layout, layoutParam); // 向屏幕上增加布局管理器
二.linnerLayout:線性佈局:水平和豎直使用
控件使用兩種方式:1.動態添加控件;2.xml配置文件.
動態創建方式 關鍵代碼如下:
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);//定義線性佈局管理器
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);//定義佈局管理器參數
layout.setOrientation(LinearLayout.VERTICAL);//定義佈局管理器的排列方式
//定義組件佈局
LinearLayout.LayoutParams txtparams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);//定義組件佈局管理器參數
TextView txt =new TextView(this);//定義文本顯示器
txt.setText("MIDP軟件學院");//設置文本信息
txt.setTextColor(this.getResources().getColor(R.color.red));//設置文本信息的顏色
txt.setTextSize(25);//設置文本信息的字體大小
layout.addView(txt,txtparams);//增加組件
setContentView(layout,params);//增加新的佈局管理器
三.relativeLayout相對佈局:在已有的控件上新建相對某些控件位置的控件。
關鍵代碼如下:
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); // 要讀取已經存在的佈局管理器
RelativeLayout rl = (RelativeLayout) super.findViewById(R.id.mylayout); // 找到佈局管理器
RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT); // 定義參數
param.addRule(RelativeLayout.BELOW, R.id.mybut); // 新的組件放在mybut組件之下
param.addRule(RelativeLayout.RIGHT_OF, R.id.myimage1); // 放在第一張圖片的右邊
EditText text = new EditText(this); // 輸入文本
rl.addView(text, param); // 是向一個佈局管理器之中增加組件