① android 代碼布局簡單的例子
(引用樓上的例子)
//初始化線性布局
LinearLayout linearLayout = new LinearLayout(context);
//設定線性布局的方向為豎直方向
linearLayout.setOrientation(LinearLayout.VERTICAL);
//設定線性布局的填充方式為自適應
linearLayout.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
//設定線性布局內的對齊方式為控制項水平居中
linearLayout.setGravity(Gravity.CENTER_HORIZONTAL);
//初始化圖片按鈕
ImageButton news = new ImageButton(context);
//設定圖片按鈕的id
news.setId(85);
//為圖片按鈕設定監聽器
news.setOnClickListener(this);
//為圖片按鈕設定圖片
news.setBackgroundResource(R.drawable.news);
//設定圖片按鈕的屬性
news.setLayoutParams(new LayoutParams(33, 33));
//將圖片按鈕加入線性布局
linearLayout.addView(news);
簡單的小例子就像上面這樣了,其實很簡單,就像 你要蓋一間房子,裡面有桌子板凳什麼的,你就要設定桌子板凳的各種屬性,長寬高顏色,樣式什麼的,然後 設定 桌子板凳放到 什麼位置,最後 把桌子板凳按照你的想法 放在那個位置上就好了。
② Android中view 怎樣通過代碼設置 layout
Android
中view設置layout,主要是通過LayoutParams
這個類提供的方法來設置布局類型、邊距等屬性,如下代碼:
RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
btn1.setLayoutParams(lp);
LayoutParams相當於一個Layout的信息包,它封裝了Layout的位置、高、寬等信息。假設在屏幕上一塊區域是由一個Layout佔領的,如果將一個View添加到一個Layout中,最好告訴Layout用戶期望的布局方式,也就是將一個認可的layoutParams傳遞進去。
③ android設置linearlayout布局的背景顏色,怎麼動態改變背景顏色
1、開始打開Android IDE,這里以常用的Android Studio軟體的3.2版本為例,然後可以新建一個工程項目,也可以使用當前已經存在的工程,點擊後等待整個項目載入完畢再進行後續的操作。
④ android 動態設置布局寬度
例如設置一個圖片寬高 關鍵代碼:
//取控制項當前的布局參數
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) imageView.getLayoutParams();
//設置寬度值
params.width = dip2px(MainActivity.this, width);
//設置高度值
params.height = dip2px(MainActivity.this, height);
//使設置好的布局參數應用到控制項
imageView.setLayoutParams(params);
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
高度除了可以設置成以上固定的值,也可以設置成wrap_content或match_content
ViewGroup.LayoutParams.WRAP_CONTENT
ViewGroup.LayoutParams.MATCH_PARENT
1
2
1
2
在這里插入圖片描述
xml
⑤ android如何在代碼里設置布局
在線性布局LinearLayout里加入view比較簡單,因為屬純圓虛性比較少,布局簡單
示例,加入一個TextView
java">LinearLayoutlayout=(LinearLayout)findViewById(R.id.layout);
TextViewtv=newTextView(this);
tv.setText("hello,world");
LayoutParamslp=newLayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
layout.addView(tv,lp);
在相對布局中RelativeLayout中加入view,屬性較多
示例,加入TextView和Button,讓TextView居中,並且設置Button在TextView的下方
RelativeLayoutlayout;
TextViewtv=newTextView(this);
tv.setText("hello,world");
Buttonbtn=newButton(this);
btn.setText("button");
tv.setId(0x011);
btn.setId(0x012);
LayoutParamstvLp做燃=newLayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
LayoutParamsbtnLp=new腔謹LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
//添加布局規則,居中於父類
tvLp.addRule(RelativeLayout.CENTER_IN_PARENT,RelativeLayout.TRUE);
//添加布局規則,在tv的下方
btnLp.addRule(RelativeLayout.BELOW,tv.getId());
layout.addView(tv,tvLp);
layout.addView(btn,btnLp);
public void addRule(int verb, int anchor) 方法就是給view設定布局規則,verb是規則屬性,就是xml文件中的各種屬性值,anchor是依靠的view的id或者比如上面的RelativeLayout.CENTER_IN_PARENT的時候就是設置true或false