java布局
java代碼布局和xml布局的區別
1.Java純布局更加的靈活,比如自定義控件或一些特殊要求時,使用java代碼布局
2.常用的xml布局是所見即所得的編寫方式,以及xml本身擁有一些優點。
代碼已經貼上,注釋寫的很詳細,仔細閱讀
package com.xh.onejava;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button btn1;
private TextView txt1;
private RelativeLayout re;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化
init();
}
private void init(){
//實例控件
btn1 = new Button(getApplicationContext());
//設置btn1顯示內容
btn1.setText("button");
//實例布局
re = new RelativeLayout(getApplicationContext());
//設置布局的背景顏色
re.setBackgroundColor(Color.BLUE);
//設置一個屬性,在java布局中和xml不同的是,xml的屬性是設置在控件中,而Java是事先設置,然后再把它添加到控件中去
//這幾行代碼的對應
//android:layout_width="wrap_content"
//android:layout_height="wrap_content"
RelativeLayout.LayoutParams layte = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
//這行代碼對應xml中的android:layout_centerHorizontal="true"
layte.addRule(RelativeLayout.CENTER_HORIZONTAL);
/*
* 重要!button實例化好了,它的布局規則設置好了
* 這時把button和它的規則放入父布局中
*/
re.addView(btn1, layte);
/*
* 重要,取消MainActivity中設置的布局文件
* (刪除:setContentView(R.layout.activity_main);)
* 添加如下代碼,不再顯示activity_main,而是用純java代碼編寫的re
*/
setContentView(re);
}
}
簡單的button純代碼的實現,更多的使用還是需要大家去慢慢研究
效果: