android - 如何在代码中而不是在 xml 中设置 RelativeLayout 布局参数?

标签 android android-layout android-relativelayout

例如,我想在屏幕上添加 3 个按钮:一个左对齐,一个居中,最后一个右对齐。

如何在代码中而不是在 xml 中设置它们的布局?

最佳答案

只是一个基本的例子:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
Button button1;
button1.setLayoutParams(params);

params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.RIGHT_OF, button1.getId());
Button button2;
button2.setLayoutParams(params);

如您所见,这是您必须做的:

  1. 创建一个 RelativeLayout.LayoutParams 对象。
  2. 使用 addRule(int)addRule(int, int) 来设置规则。第一种方法用于添加不需要值的规则。
  3. 为 View 设置参数(在本例中为每个按钮)。

关于android - 如何在代码中而不是在 xml 中设置 RelativeLayout 布局参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5191099/

相关文章:

android - 为 Kivy 应用程序保存登录屏幕用户名和密码

android - fragment 旋转后如何不第二次调用 subscribe() 主体?

android - 如何用空字符串消除 textview 的边距?

android - 相对布局上的 <include> 问题, View 始终位于顶部

Android RelativeLayout layout_toLeftOf 不能按预期工作

java - mkdir() 创建的目录被视为文件

java - Android Instrumented Tests 覆盖范围排除苍蝇

android - ScrollView 中的全屏布局

android - 水平放置两个 imageView

android - 两层,但无法在android中显示底层