2010-06-12 64 views
33

我想在android中的運行時設置控件屬性「佈局到右邊」。其實我想在屏幕改變方向時調整控件。以編程方式在android中設置「佈局到」屬性的權利

+4

的首選方式「調整控件時,屏幕改變方向」是使用兩個單獨的佈局XML文件,一個用於人像(通常在'res/layout /'中),另一種用於橫向(通常在'res/layout-land /'中)。 – CommonsWare 2010-06-12 11:40:47

回答

76

你可以做這樣的事情:

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

如何刪除rightOf – Prasad 2015-11-05 10:30:15

+0

@Prasad您可以使用params.removeRule(RelativeLayout.RIGHT_OF); – startoftext 2016-03-22 21:23:09

+0

'removeRule(..)'可從API 17獲得。[for Prabs 2017-04-13 06:29:52

2

如果你定義一個新的LayoutParams,你失去的其他規則。

所以,如果你只是想更改或添加規則,這樣做:

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