Изменить цвет текста выпадающего элемента и размер текста - PullRequest
0 голосов
/ 28 января 2019

Я использую привязку данных Android и как часть этого, у меня есть счетчик с элементами (массив объявлен в strings.xml) как

android:entries="@string/items"

Теперь я хотел бы изменить цвет и размер текстаиз выпадающих пунктов.Я хочу сделать это без создания отдельного макета для элемента и использования его через Java (передача макета элемента в адаптер массива и установка этого адаптера в счетчик).

Я пробовал много способов и искал везде, но не сделалне найти подходящего решения.

Любая помощь приветствуется.

Ответы [ 3 ]

0 голосов
/ 28 января 2019

Просто создайте новый xml с textview и его свойствами: my_spinner.xml:

<?xml version="1.0" encoding="utf-8"?>

<TextView
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:textSize="12sp"
   android:textColor="#f51111"
/>

Luego set el nuevo xml en el ArrayAdapter:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.my_spinner,data);
    spinner.setAdapter(adapter);
0 голосов
/ 05 февраля 2019

Вы должны использовать android.support.v7.widget.AppCompatSpinner.

 <android.support.v7.widget.AppCompatSpinner
                    style="@style/Widget.AppCompat.Spinner.Underlined"
                    android:theme="@style/Spinner"
                    android:entries="@array/special_fx_arrays"
                    android:textSize="@dimen/text_size_normal"/>

Здесь стиль для ввода styles.xml

<style name="Spinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
        <item name="android:paddingStart">0dp</item>
        <item name="android:paddingEnd">0dp</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:backgroundTint">@color/red</item>
        <item name="android:textSize">14sp</item>
</style>
0 голосов
/ 28 января 2019

Вы можете создать стиль и установить его в спиннер через xml

 <style name="customStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
        <item name="android:textColor">#000</item>
        <item name="android:textSize">12dp</item>
 </style>

, установить customStyle в свой спиннер

...