как установить стрелку раскрывающегося списка в счетчике с фоном?

У меня есть раскрывающийся список с черным фоном, синим контуром счетчика. Как поместить изображение стрелки в раскрывающийся список?

я использую

android:background="@android:drawable/btn_dropdown"

но это удалит мой текущий фон, то есть черный фон с синим контуром. Для этого я использую drawable

<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape= "rectangle"  >
    <solid android:color="#000000"/>
    <stroke android:width="2dp"  android:color="#405999"/>
</shape>

person user1619306    schedule 01.09.2014    source источник


Ответы (1)


Вы можете попробовать это,

Создайте файл spinner_bg.xml в папке с возможностью рисования, затем скопируйте и вставьте следующее

spinner_bg.xml

<?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="1dp" android:color="#504a4b" />

                    <corners android:radius="5dp" />

                    <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
                </shape></item>
            <item ><bitmap android:gravity="bottom|right" android:src="@drawable/spinner_ab_default_holo_dark_am" />
            </item>
        </layer-list></item>

</selector>  

Внутри папок values и styles.xml добавьте эти строки

<style name="spinner_style" >
            <item name="android:background">@drawable/spinner_bg</item>
            <item name="android:layout_marginLeft">10dp</item>
            <item name="android:layout_marginRight">10dp</item>
            <item name="android:layout_marginBottom">10dp</item>
            <item name="android:paddingLeft">8dp</item>
            <item name="android:paddingTop">5dp</item>
            <item name="android:paddingBottom">5dp</item>

        </style>

Добавьте этот стиль в свой счетчик в xml-файле.

       <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/spinner_style"
            android:popupBackground="#cccccc" />
person Aniruddha    schedule 01.09.2014
comment
android:src=@drawable/spinner_ab_default_holo_dark_am показывает ошибку - person user1619306; 01.09.2014
comment
Вам нужно добавить это изображение spinner_ab_default_holo_dark_am в drawable. Или же добавьте любое свое изображение вместо него. Должно быть так, android:src="@drawable/yourImage" - person Aniruddha; 02.09.2014
comment
android.view.InflateException: строка двоичного XML-файла № 40: ошибка при раздувании класса android.widget.Spinner 09-02 11:59:26.366: E/AndroidRuntime(336): - person user1619306; 02.09.2014
comment
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 09-02 11:59:26.366: E/AndroidRuntime(336): в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 09-02 11: 59:26.366: E/AndroidRuntime(336): в android.app.ActivityThread.access$1500(ActivityThread.java:117) 09-02 11:59:26.366: E/AndroidRuntime(336): в android.app.ActivityThread$ H.handleMessage(ActivityThread.java:931) 09-02 11:59:26.366: E/AndroidRuntime(336): в android.os.Handler.dispatchMessage(Handler.java:99) - person user1619306; 02.09.2014
comment
@Aniruddha: Можем ли мы изменить размер растрового изображения, используя заданную ширину и высоту? - person Jayesh; 29.01.2016