2010-06-12 6 views
33

Ich möchte Eigenschaft "Layout rechts von" der Steuerung zur Laufzeit in Android. Eigentlich möchte ich die Steuerelemente anpassen, wenn der Bildschirm die Ausrichtung ändert.programmgesteuert festlegen "Layout nach rechts von" -Eigenschaft in Android

+4

Die bevorzugte Art und Weise zu „Kontrollen einzustellen, wenn die Bildschirmausrichtung ändert“ ist zwei XML separate Layoutdateien zu verwenden, einen für Portrait (typisch in 'res/layout /') und eins für Landschaft (typischerweise in 'res/layout-land /'). – CommonsWare

Antwort

76

Sie können etwas tun:

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

So entfernen Sie rightOf – Prasad

+0

@Prasad Sie können es mit params.removeRule entfernen (RelativeLayout.RIGHT_OF); – startoftext

+0

'removeRule (..)' ist verfügbar von API 17. [für Prabs

2

Wenn Sie einen neuen LayoutParams definieren, können Sie andere Regeln verlieren.

Also, wenn Sie wollen einfach nur eine Regel geändert oder hinzugefügt werden, dies tun:

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