【问题标题】:How to add margins to spinner programmatically?如何以编程方式向微调器添加边距?
【发布时间】:2019-11-21 12:25:35
【问题描述】:

我想以编程方式创建一个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)

结果它们之间没有边距

【问题讨论】:

    标签: android android-spinner layoutmargins


    【解决方案1】:

    使用LayoutParams

    Look at this example

    例如:

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 2021-08-16
      • 2018-09-12
      • 1970-01-01
      • 2015-02-26
      相关资源
      最近更新 更多