#android #xml #spinner
#Android #xml #счетчик
Вопрос:
Я хочу отображать элементы счетчика в списке округленных прямоугольников, а не в прямоугольнике по умолчанию. Я имею в виду не сам счетчик, а список, который выпадает после нажатия стрелки. Есть ли способ сделать это? Попытка создать custom_rounded_layout и прикрепить к нему адаптер изменили расположение каждого элемента, а не сам список. Однако я хочу, чтобы округлялся сам список, а не элементы. Сейчас список используется по умолчанию. Я хочу сделать углы списка немного закругленными. Заранее спасибо
Ответ №1:
Создайте файл макета с закругленным фоновым текстовым представлением, например:
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/size_40"
android:background="@drawable/bg_round"
android:gravity="center_vertical"
android:id="@ id/ssdsd"
android:layout_margin="16dp"
android:padding="10dp"
android:text="@string/app_name" />
Теперь передайте это в адаптер счетчика
Spinner spinner = findViewById(R.id.yourSpinner);
spinner.setAdapter(new ArrayAdapter<String(this,R.layout.spinner_item,R.id.ssdsd,list));
Чтобы изменить фон всплывающего окна, используйте это в своем XML-коде счетчика:
android:popupBackground="@drawable/bg_round"
ПРИМЕЧАНИЕ: возможно, вам потребуется настроить отступы и поля, чтобы они выглядели хорошо, это просто представление о том, как вы можете это сделать.
Комментарии:
1. Спасибо, но это не работает для самого списка. После выбора элемента элемент отображается в специально разработанном макете. Но выпадающий список все тот же
2. Попробуйте заменить эту строку:
spinner.setAdapter(new ArrayAdapter<String(this,R.layout.spinner_item,R.id.ssdsd,list));
На this:spinner.setAdapter(new ArrayAdapter<String(this,R.layout.spinner_item,list));
И посмотреть, работает это или нет3. Я попробовал. Список по умолчанию такой, каким он был. Единственное изменение заключается в том, что когда я выбираю элемент, элемент появляется в пользовательском текстовом представлении после выбора
4. Хорошо, вы использовали закругленный фон в текстовом представлении? Эта строка:
android:background="@drawable/bg_round"
если да, какой цвет фона у этого объекта рисования, если он белый или прозрачный, попробуйте изменить цвет на черный или что-то в этом роде5. . Список тот же, но элементы затронуты.