Android Spinner выпадающая стрелка не отображается
мой фон для моего фрагмента белый, и Стрелка для счетчика не отображается, если я не нажму на нее.
Это фрагмент из моего файла Java:
spinner = (Spinner)v.findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.accounts,R.layout.spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_dropdown_items);
spinner.setAdapter(adapter);
spinner.setPrompt("Select an account");
Это мой XMLfor spinner_item
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textAlignment="inherit"
android:textSize="16dp"
android:background="#FFFFFFFF"
android:textColor="#ff252525"/>
и это мой макет для моего spinner_dropdown_items.
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textAlignment="inherit"
android:textSize="16dp"
android:background="#FFFFFFFF"
android:textColor="#ff252525"/>
Так выглядит мой спиннер с белым фоном для моего фрагмента: Белый Цвет Фона-Spinner И вот как это выглядит, когда Я меняю цвет фона на фиолетовый.: фиолетовый фон-Spinner
5 ответов
это работает для меня, гораздо проще:
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Light"
android:spinnerMode="dropdown" />
и в файле класса:
spinner = (Spinner) view.findViewById(R.id.spinner);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.spinner_data, android.R.layout.simple_spinner_dropdown_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
надеюсь, что это помогает ;)
попробуй это:
<Spinner
android:id="@+id/spinnPhoneTypes"
android:layout_width="0dp"
style="@android:style/Widget.Spinner.DropDown"
android:layout_height="@dimen/thirtyFive"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@drawable/shape_drop_down_normal"
android:gravity="center_vertical" />
shape_drop_down_normal.в XML
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dp"
android:color="#6f94c7" />
<padding
android:bottom="10dp"
android:left="2dp"
android:right="10dp"
android:top="10dp" />
</shape>
</item>
<item>
<bitmap
android:gravity="end"
android:src="@drawable/drop_arrow" />
</item>
</layer-list>
просто добавьте тему в тег spinner, и вам хорошо идти.
android:theme="@style/ThemeOverlay.AppCompat.Light"
самый простой метод-установить фоновое изображение (со стрелкой) вместо цвета.
spinner.setBackgroundResource(R.drawable.spinner_img);
надеюсь, что это помогает.