可以直接new View來得到View對(duì)象來實(shí)現(xiàn)代碼布局。以下為示例代碼:
成都創(chuàng)新互聯(lián)公司主營(yíng)太仆寺網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開發(fā),太仆寺h5小程序制作搭建,太仆寺網(wǎng)站營(yíng)銷推廣歡迎太仆寺等地區(qū)企業(yè)咨詢
1.絕對(duì)布局
AbsoluteLayout abslayout=new AbsoluteLayout (this);
setContentView(abslayout);
Button btn1 = new Button(this);
btn1.setText(”this is a button”);
btn1.setId(1);
AbsoluteLayout.LayoutParams lp1 =
new AbsoluteLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
0,100);
abslayout.addView(btn1, lp1);
2.相對(duì)布局
RelativeLayout relativeLayout = new RelativeLayout(this);
setContentView(relativeLayout);
AbsoluteLayout abslayout=new AbsoluteLayout (this);
RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp1.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp1.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
relativeLayout.addView(abslayout ,lp1);
3.線性布局
LinearLayout ll = new LinearLayout(this);
EditText et = new EditText();
ll.addView(et);
//動(dòng)態(tài)添加布局的方法1. LinearLayout ll = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main1,null); setContentView(ll); LinearLayout ll2 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main2,ll); //這樣 main2 作為 main1的子布局 加到了 main1的 根節(jié)點(diǎn)下
//動(dòng)態(tài)添加布局的方法2 addView. LinearLayout ll = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main1,null); setContentView(ll); LinearLayout ll2 = (LinearLayout)this.getLayoutInflater().inflate(R.layout.main2,null); ll.addView(ll2);
例如設(shè)置一個(gè)圖片寬高 關(guān)鍵代碼:
//取控件當(dāng)前的布局參數(shù)
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) imageView.getLayoutParams();
//設(shè)置寬度值
params.width = dip2px(MainActivity.this, width);
//設(shè)置高度值
params.height = dip2px(MainActivity.this, height);
//使設(shè)置好的布局參數(shù)應(yīng)用到控件
imageView.setLayoutParams(params);
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
高度除了可以設(shè)置成以上固定的值,也可以設(shè)置成wrap_content或match_content
ViewGroup.LayoutParams.WRAP_CONTENT
ViewGroup.LayoutParams.MATCH_PARENT
1
2
1
2
在這里插入圖片描述
xml
動(dòng)態(tài)布局,也就是可以根據(jù)業(yè)務(wù)的需求改變界面。實(shí)際上就是用代碼寫出界面,代碼量比較大。而且維護(hù)起來十分的繁瑣。特別是一些界面空間比較多的時(shí)候。靜態(tài)的布局,是通過xml來實(shí)現(xiàn)的,適用于頁面比較固定的情況。但是維護(hù)起來比較方便。
如下代碼:
LinearLayout layout = new LinearLayout(this);
TextView tx = new TextView(this);
tx.setText('我是動(dòng)態(tài)添加的');
layout.addView(tx);
setContentView(layout);
這就動(dòng)態(tài)添加了一個(gè)線性布局,并且在布局里面加了一個(gè)textview