0
我有這樣的滾動型:設置RelativeLayout.LayoutParams編程
<Scrollview
android:id="@+id/DashboardView_menuContainer"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:fillViewport="true" />
因爲我已經意識到我需要給它一個動態的高度,這意味着我需要爲它做的佈局編程。
這是我到目前爲止有:
_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));
所以我只需要以編程方式添加android:layout_alignParentBottom="true"
到layour PARAMS。我不確定如何添加任何東西到layoutParams除了寬度和高度。我怎麼做?
其給予例外Java.Lang.ClassCastException:android.widget.RelativeLayout $的LayoutParams不能轉換到android.widget.LinearLayout $的LayoutParams – SANDEEP
你得到了這個異常,因爲您正試圖將RelativeLayout參數添加到LinearLayout對象(上述代碼中的_menuContainer)。確保您嘗試應用參數的佈局是RelativeLayout,否則它將無法工作。如果您需要將其保存爲LinearLayout,請使用LinearLayout.LayoutParams參數=新的LinearLayout.LayoutParams(menuWidth,menuHeight);但是您將無法使用AddRule,因爲它是RelativeLayout特定的。 – YumeYume
不,我適用於相對佈局對象我的menuContainer是相對佈局 – SANDEEP