4

У меня есть пользовательская тема, созданная с помощью this generator. У него есть собственный стиль для Spinners, который мне не нравится. Я хочу изменить фоновый рисунок, но я не могу понять, какое свойство контролирует это.Какое свойство контроля Spinner выпадающего фона?

Это то, что тематическая версия выглядит

enter image description here

А вот что это будет выглядеть как при использовании темы Holo.Light.

enter image description here

Обратите внимание на темно-серые линии вокруг списка в первой (тематические) изображения. Это то, от чего я хочу избавиться. Какая собственность контролирует это? Я хочу, чтобы они соответствовали умолчанию.

Кроме того, что контролирует вертикальное выравнивание выпадающего списка? Как вы можете видеть, он перекрывается с Spinner в первом изображении (линия под ним не видна, как на втором изображении).

+0

@ user2558882 Вот еще один вопрос, связанный с моей предыдущей проблемы. – MikkoP

ответ

9

Атрибут, который вы хотите, это android:popupBackground на элементе Spinner.

Если вы внимательно присмотритесь, голографическое всплывающее окно также накладывается на несколько частей, но есть куча прокладки для тени, поэтому она выглядит хорошо.

Однако вы можете использовать android:dropDownVerticalOffset на элементе Spinner для его настройки.

+0

Спасибо! Я не уверен, что я должен установить как свойство popupBackground. Что такое по умолчанию для Android Holo.Light? Я проверил его из источников Android, и это похоже на '@android: drawable/spinner_dropdown_background'. Однако это не меняет внешний вид. – MikkoP

+0

Любые идеи для этого? – MikkoP

+1

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

1

Мы столкнулись с той же проблемой. Это связано с Android Holo theme generator.

Вот строки, которые вы должны удалить из файла Theme.xml ...

<item name="android:spinnerStyle">@style/SpinnerCustom</item> 
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItemCustom</item> 
<item name="android:popupMenuStyle">@style/PopupMenu.Custom</item> 
<item name="android:dropDownListViewStyle">@style/DropDownListView.Custom</item> 
<item name="android:actionDropDownStyle">@style/DropDownNav.Custom</item> 

... путем удаления этих, мы теперь имеем стандартную тему Holo.Light на роллерных выпадающие.

0

Вы должны изменить родительский spinnertheme для андроида: Widget.Holo.Light.Spinner

<style name="SpinnerTHEME" parent="android:Widget.Holo.Light.Spinner"> 
+0

Не работает – Hani

0
<style name="spinner_style" parent="android:Widget.Holo.Light.Spinner"> 
     <item name="android:paddingLeft">@dimen/ten_dp</item> 
     <item name="android:paddingRight">@dimen/ten_dp</item> 
</style> 
+5

Хороший ответ всегда будет иметь объяснение того, что было сделано, и почему это было сделано таким образом не только для OP, но и для будущих посетителей SO. Пожалуйста, добавьте некоторое описание, чтобы другие поняли. :) –

Смежные вопросы