如何在微调器中自定义对话框大小

时间:2019-12-23 06:04:51

标签: android android-layout kotlin android-spinner

这是我的微调器的代码

XML代码

 <Spinner
            android:id="@+id/amountContainer"
            android:layout_width="0dp"
            android:layout_height="30dp"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            android:background="@drawable/spinner_border"
            android:spinnerMode="dialog"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/amountTitleTV" />

科特琳码

val adapter = ArrayAdapter((this.activity as Context), android.R.layout.simple_spinner_item, entries.toList())
    adapter.setDropDownViewResource(R.layout.amount_picker)
    adapter.setDropDownViewResource(android.R.layout.select_dialog_singlechoice)

如何设置对话框的宽度?例如页面宽度的60%甚至300dp

1 个答案:

答案 0 :(得分:1)

无法自定义对话框微调器,但是可以使用下拉模式进行自定义,它看起来像对话框微调器。

将此属性添加到xml文件中的微调框,这将为您的微调框提供完整宽度

 // this width is for dialog
 android:dropDownWidth="300dp"

//drop down with only work when spinner mode is drop down
android:spinnerMode="dropdown"

通过使用dropDownVerticalOffset属性,您可以在微调框及其下拉菜单之间留出空间。这将有助于使对话框看起来像对话框微调框。

 android:dropDownVerticalOffset="@dimen/_2sdp"