① 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