簡體   English   中英

如何以編程方式向微調器添加邊距?

[英]How to add margins to spinner programmatically?

我想以編程方式創建一個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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM