[英]How to set a bottom margin programmatically?
我有一個已包含多個元素的LinearLayout
。 我想以編程方式添加底部邊距。
我在適配器代碼中添加以下代碼段。
兩者都不起作用。
View linearLayout = convertView.findViewById(R.id.spinnerL);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)linearLayout.getLayoutParams();
params.setMargins(0, 0, 0, 10);
linearLayout.setLayoutParams(params);
這個甚至刪除了我的元素:
View linearLayout = convertView.findViewById(R.id.spinnerL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(30, 20, 30, 10);
linearLayout.setLayoutParams(layoutParams);
我究竟做錯了什么? 如何在運行時添加邊距?
在你的第一種方法中,你基本上說:
params is a variable that will call linearLayout.getLayoutParams();
然后在下一行中調用它並設置邊距,然后將布局參數設置為params,這與邊距設置不同。 嘗試做類似的東西:
View linearLayout = convertView.findViewById(R.id.spinnerL);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)linearLayout.getLayoutParams();
params.setMargins(0, 0, 0, 10);
linearLayout.setLayoutParams(params);
linearLayout.requestLayout();
如果我錯了,請原諒我,我只是開始Java。 但這就是我從你的第一種方法中所理解的。 如果我錯了,有人請告訴我在哪里,因為我有興趣看到我的錯誤:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.