У меня есть счетчик, который создается программно следующим образом:
spinnerLogger = new Spinner(context);
spinnerLogger.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
SpinnerAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, spinnerNames);
spinnerLogger.setAdapter(spinnerAdapter);
в моем коде я также использую созданные xml прядильщики, которые используют стиль, чтобы убедиться, что пользователь понимает, что они прядильщики:
<Spinner
android:layout_width="90dp"
android:layout_height="wrap_content"
android:id="@+id/spinnerHour"
android:spinnerMode="dropdown"
style="@style/Widget.AppCompat.Spinner.Underlined" />
Я хочу применить стиль Widget.AppCompat.Spinner.Underlined
к программно созданному счетчику, но не могу найти, как этого добиться.
Я попытался создать xml, содержащий только счетчик с правильным стилем (имя xml - spinner_underlined и он находится в папке макета):
<?xml version="1.0" encoding="utf-8"?>
<Spinner android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/Widget.AppCompat.Spinner.Underlined"/>
когда я пытаюсь применить это, используя
SpinnerAdapter spinnerAdapter = new ArrayAdapter<>(context, android.R.layout.spinner_underlined, spinnerNames);
это дает мне ошибку cannot resolve symbol 'spinner_underlined'
spinner_underlined
? Возможно, находится в папке вашего макета? Если да, то попробуйте удалить тамandroid.
. - person AL.   schedule 29.04.2016android.R.layout.simple_spinner_dropdown_item
наspinner_underlined
, и это изменило элементы раскрывающегося списка на правильный стиль, но не сам счетчик. - person dec0yable   schedule 29.04.2016@style/Widget.AppCompat.Spinner.Underlined
), и установить его на программно созданный счетчик. Это действительно должно быть так сложно? - person dec0yable   schedule 29.04.2016