2016-07-17 2 views
0

Ich habe dieses Scroll:Set RelativeLayout.LayoutParams programmatisch

<Scrollview 
    android:id="@+id/DashboardView_menuContainer" 
    android:layout_width="match_parent" 
    android:layout_alignParentBottom="true" 
    android:fillViewport="true" /> 

ich da realisiert habe ich es eine dynamische Höhe geben müssen, was bedeutet, ich brauche das Layout für sie programmatisch zu tun. Diese

ist das, was ich bisher:

_menuContainer = FindViewById <ViewGroup> (Resource.Id.DashboardView_menuContainer); 

//get height of screen 
var metrics = Resources.DisplayMetrics; 
var menuWidth = metrics.WidthPixels; 
var menuHeight = metrics.HeightPixels - 200; 

//TODO: add anchorBottom to the layoutParams 
_menuContainer.LayoutParameters = (new RelativeLayout.LayoutParams(menuWidth, menuHeight)); 

Also ich brauche nur die android:layout_alignParentBottom="true" programmatisch auf die layour params hinzuzufügen. Ich bin mir nicht sicher, wie Sie den LayoutParams außer Breite und Höhe etwas hinzufügen können. Wie mache ich das?

Antwort

0

Dies sollte den Trick:

RelativeLayout.LayoutParams parameters = new RelativeLayout.LayoutParams(menuWidth, menuHeight); 
parameters.AddRule(LayoutRules.AlignParentBottom); 
_menuContainer.LayoutParameters = parameters; 
+0

seine die Ausnahme java.lang.ClassCastException geben: android.widget.RelativeLayout $ LayoutParams nicht android.widget.LinearLayout $ LayoutParams gegossen werden kann – SANDEEP

+0

Sie haben diese Ausnahme, weil Sie versuchen, einem LinearLayout-Objekt (_menuContainer im obigen Code) RelativeLayout-Parameter hinzuzufügen. Stellen Sie sicher, dass das Layout, auf das Sie Parameter anwenden möchten, ein RelativeLayout ist, andernfalls funktioniert es nicht. Wenn Sie es als LinearLayout beibehalten müssen, verwenden Sie LinearLayout.LayoutParams parameter = new LinearLayout.LayoutParams (menuWidth, menuHeight); Sie können jedoch AddRule nicht verwenden, da es RelativeLayout-spezifisch ist. – YumeYume

+0

nein ich bin auf relative layout objekt anwenden mein menuContainer ist relatives Layout – SANDEEP

Verwandte Themen