как настроить размер диалога в спиннер - PullRequest
2 голосов
/ 23 декабря 2019

это код моего счетчика

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% ширины страницы или даже 300 dp

1 Ответ

1 голос
/ 23 декабря 2019

Невозможно настроить спиннер диалога, но используя режим выпадающего меню, вы можете настроить его, и он будет выглядеть как спиннер диалога.

Добавьте этот атрибут к блесне в файле XML, это даст полную ширину блесны

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

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

Используя атрибут dropDownVerticalOffset, вы даете пространство между счетчиком и его выпадающим списком. Это поможет выглядеть как Dialog spinner`

 android:dropDownVerticalOffset="@dimen/_2sdp"
...