我想以编程方式创建一个带有margin = Xdp的微调器,然后将其添加到LinearLayout。我认为可以使用LayoutParams来实现,但是我没有运气。
val spinnerLanguage = Spinner(context).apply {
val value = Cals.dpToPx(context, 15)
this.setPadding(value, value, value, value)
this.adapter = SpinnerBaseChoiceSelectionAdapter(context, R.layout.simple_spinner_item, data)
val params = ViewGroup.MarginLayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT
)
params.setMargins(0, value, 0, value)
this.rootView.layoutParams = params
}
spinnerHolderLayout.addView(spinnerLanguage)
spinnerHolderLayout.addView(spinnerLanguage)
spinnerHolderLayout.addView(spinnerLanguage)
结果之间没有余量
使用LayoutParams
。
例如:
LayoutParams lp = (RelativeLayout.LayoutParams) spinnerLanguage.getLayoutParams();
// Set spinner margin (Left Top Right Bottom)
lp.setMargins(25,25,25,25);
// Update parameters to spinner
spinnerLanguage.setLayoutParams(lp);