Как приблизить стрелку к выделенному тексту? - PullRequest
0 голосов
/ 22 октября 2018

Я знаю, что этот вопрос повторяется, но я не могу найти правильные решения.
Я хочу приблизить стрелку к вращателю (это означает, что я хочу уменьшить ширину счетчика и уменьшить расстояние между текстом и вниз).стрелка) Я использовал спиннер по умолчанию.Как я могу это сделать?Пожалуйста, помогите мне найти решение.
Вот код XML

 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="25dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:textAlignment="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/relativeLayout15">

        <Spinner
            android:id="@+id/languageDropdown"
            style="@style/SpinnerTheme"
            android:layout_width="66dp"
            android:layout_height="wrap_content"
            android:entries="@array/Languages" />
    </RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Make PopupWindow вместо Spinner .

0 голосов
/ 22 октября 2018

Поскольку я понимаю ваш вопрос, мы часто сталкиваемся с необходимостью настройки пользовательского интерфейса счетчика, и это слишком сложно для достижения этой цели.Я обычно использую это решение для таких ситуаций:

Решение: Скройте ваши фактические Spinner и покажите TextView, который просто выглядит как наш желаемый Spinner, пожалуйста, посмотрите наниже изображение для лучшего понимания:

enter image description here

На изображении выше я создал поле телефонного номера, где я получаю код страны от пользователя, используя Spinner.Я создал TextView с текстом в качестве кода страны с нарисованным [вправо] стрелкой вниз.Пожалуйста, проверьте ниже XML-код для лучшего понимания:

enter image description here

На изображении выше Spinner ширина 0dp, поэтому ваш Spinner не будет виден, Просто запомните один тонкий, который вы должны обработать событие клика TextView и вызовите метод performClick() для Spinner.Пожалуйста, обратитесь к изображению ниже для этого кода:

В случае нажатия вашего TextView, просто следуйте нижеприведенному пути:

textViewLabelCodeRegister.id -> {
   spinnerCountriesRegister.performClick()
}

Вот и все.

...