Android - Drawable XML, содержащий изображение слева и сплошной цвет, чтобы заполнить ширину - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь создать XML-объект для рисования, который будет иметь изображение слева, а затем сплошной фон, который будет заполнять остальную часть ширины, где бы он ни использовался. Цвет фона такой же, как у меня на самом изображении, и цель - продолжить цвет на всю ширину.

Я пробовал это, но это просто дает мне изображение в центре вида, к которому я его применяю. То, что я хочу, это изображение слева, а затем справа от изображения цвет фона, чтобы заполнить оставшееся пространство.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#00355f"/>
        </shape>
    </item>
    <item
        android:drawable="@drawable/bg_navbar"
        android:gravity="center_vertical|start"/>
</layer-list>

Очевидное решение состоит в том, чтобы создать LinearLayout с моим фоновым цветом, а затем перетащить изображение в него, но, поскольку это используется во всем моем приложении, я надеялся вместо этого создать ресурс для рисования XML.

1 Ответ

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

Попробуйте приведенный ниже фрагмент кода. Я надеюсь, что это поможет вам.

  <?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="#dddbda" />

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

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