android如何在代码里设置布局

布局跟布局里的元素都是代码里动态添加的,怎么在代码里设置元素的宽度和高度充满父元素呢?还有其他一些可以在布局文件里设置的属性... 布局跟布局里的元素都是代码里动态添加的,怎么在代码里设置元素的宽度和高度充满父元素呢?还有其他一些可以在布局文件里设置的属性 展开
 我来答
千锋教育
2015-12-10 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

在线性布局LinearLayout里加入view比较简单,因为属性比较少,布局简单

示例,加入一个TextView

LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
TextView tv = new TextView(this);
tv.setText("hello,world");
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layout.addView(tv,lp);


在相对布局中RelativeLayout中加入view,属性较多

示例,加入TextView和Button,让TextView居中,并且设置Button在TextView的下方

RelativeLayout layout;
TextView tv = new TextView(this);
tv.setText("hello,world");
Button btn = new Button(this);
btn.setText("button");
tv.setId(0x011);
btn.setId(0x012);
LayoutParams tvLp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
LayoutParams btnLp = 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

曾曾曾曾曾曾叶
2014-11-21 · TA获得超过175个赞
知道小有建树答主
回答量:95
采纳率:100%
帮助的人:72.3万
展开全部
//定义一个线性布局
LindearLayout  tp = new LindearLayout  (this);
//定义一个布局参数类(用于定义Button在线性布局中的参数)
LayoutParams ltp = new LayoutParams(LayoutParams.WARP_CONTENT,LayoutParams.WARP_CONTENT);
Button lbt = new Button(this);
tp.addView(lbt,ltp);//将Button加入到线性布局中。

//但是不推荐代码里实现,因为android是MVC开发模式,数据操作,UI,代码等实现都是分开写的,这样写的好处你多编点代码就会体会到了。虽然靠纯代码甚至是在一个activity中都可能完成一个app的编写,但是这样就完全没了可维护性了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安徽新华电脑专修学院
2018-08-25 · 百度知道合伙人官方认证企业
安徽新华电脑专修学院
安徽新华电脑专修学院始建于1988年,隶属于新华教育集团,是国家信息化教育示范基地、中国 IT 教育影响力品牌院校.
向TA提问
展开全部
Activity中定义
private TextView tv;
Activity中的 onCreate函数里
tv=(TextView)findViewById(R.id.TextView01)
其中R.id.TextView01是xml中定义的
LayoutParams p=tv.getLayoutParams();
p.height = 100;
tv.setLayoutParams(p);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式