Отображение стрелки спиннера Android - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть счетчик, фон которого определен в файле для рисования:

<style name="spinner_style" parent="android:Widget.Material.Light.Spinner">
    <item name="android:background">@drawable/background_spinner</item>
</style>

И стиль:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/red" />
    <corners android:radius="3dp" />
</shape>

Проблема в том, что стрелка не отображается.Это происходит из-за: <item name="android:background">@drawable/background_spinner</item>.

Как я могу добавить его, например, внутри нарисованного файла?

1 Ответ

0 голосов
/ 29 сентября 2018

Решение:

Вы должны определить <layer-list> для этого:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>

            <item>
                <shape>
                    <gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" />
                    <stroke android:width="0.33dp" android:color="#0fb1fa" />
                    <corners android:radius="0dp" />
                    <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
                </shape>
            </item>

            <item android:right="5dp">
                <bitmap android:gravity="center_vertical|right" android:src="@drawable/arrow_down_gray" />
            </item>

        </layer-list>

    </item>
</selector>

Затем замените строку: android:src="@drawable/arrow_down_gray" на нарисованную стрелку.

Наконец, примените это как ваш style="@style/spinner_style" в вашем счетчике.

Объяснение: <layer-list> информация может быть найдена здесь: https://developer.android.com/guide/topics/resources/drawable-resource#LayerList и <bitmap> используются длянарисовать изображение на экране.Мы выбираем нарисованное изображение и устанавливаем гравитацию.

Более подробную информацию об этом могут предоставить другие старшие эксперты.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...