Могу ли я использовать несколько фигур в одном android drawable?
то, что я пытаюсь сделать, это определить общий фон для использования в LinearLayout, который часто посещает мое приложение во многих его Activitys. Этот конкретный макет является заголовком, который отображается в верхней части каждого действия.
то, что я пытаюсь сделать, это создать drawable, который заполняет linearlayout градиентом и имеет горизонтальную линию ниже градиента.
кто-нибудь знает, возможно ли это или мне нужно делать такие вещи только с вложенными макеты.
мой attemptat папке drawable XML-код
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#AA000000" android:endColor="#AA333333"
android:angle="270" />
</shape>
</item>
<item>
<shape android:shape="line">
<stroke android:width="3dp" android:color="#FFFFFFFF"
android:dashWidth="1dp" android:dashGap="2dp" />
<size android:height="5dp" />
</shape>
</item>
</selector>
2 ответов
Drawable принимает несколько фигур (определяется всегда в других файлах) если я понимаю ваш вопрос, возможно, вы можете сделать слой drawable (это рисует несколько базовых drawables поверх друг друга)
Я пишу это здесь, поэтому я не тестировал, но попробуйте это и прочитайте эту фантастическую документацию.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_7"/>
<item android:drawable="@drawable/shape_1"/>
</layer-list>
ура
использовать гравитация установить предметы на layer-list.
for vertical orientation use:
android:gravity="top"
android:gravity="center"
android:gravity="bottom"
for horizontal orientation use:
android:gravity="left"
android:gravity="center"
android:gravity="right"
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap
android:src="@drawable/top_img"
android:gravity="top"/>
</item>
<item>
<bitmap
android:src="@drawable/center_img"
android:gravity="center"/>
</item>
<item>
<bitmap
android:src="@drawable/bottom_img"
android:gravity="bottom"/>
</item>
</layer-list>
убедитесь, что родительский элемент имеет достаточно места для хранения всех элементов! В противном случае они будут перекрывать друг друга