在安卓中以编程方式设置“Layout to right of”的属性

36

我想在Android中设置控件的"Layout to right of"属性。 实际上,我希望在屏幕方向发生变化时调整控件。


4
调整控件与屏幕方向变化相适应的首选方式是使用两个独立的布局 XML 文件,一个用于竖屏(一般在 res/layout/ 目录下),一个用于横屏(一般在 res/layout-land/ 目录下)。 - CommonsWare
2个回答

91

你可以这样做:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.RIGHT_OF, view.getId());

@Prasad 您可以使用 params.removeRule(RelativeLayout.RIGHT_OF) 将其删除。 - startoftext
removeRule(..) 可在 API 17 中使用。对于 < API 17 - Prabs

5

如果您定义了新的 LayoutParams,您将失去其他规则。

因此,如果您只想更改或添加规则,请执行以下操作:

 RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view.getLayoutParams();
 params.addRule(RelativeLayout.RIGHT_OF, targetView.getId());
 view.setLayoutParams(params);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接