Многоцветная линия с формами

Я пытаюсь создать однострочный фон с 3 или более цветами, я хочу знать, возможно ли это с помощью xml-форм или мне нужно использовать 9 патчей? Я новичок в фигурах, и я провел все утро, пытаясь выполнить то, что хочу, но ничего.

Ниже то, чего я хочу достичь:

введите здесь описание изображения

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- This is the line -->
<item>
      <shape>
            <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="1dp"/>
            <solid android:color="#868686" />
      </shape>
</item>
<!-- This is the main color -->
<item>
     <shape>
         <solid android:color="@android:color/white" />
     </shape>
</item>

SOLUTION UPDATE

Помимо ответа, предоставленного SAM, я нашел 9.png лучшим ответом на мою проблему. Я просто создаю png с 3 цветами, а затем применяю девять патчей и ГОТОВО: D я использовал этот инструмент weblookandfeel.com/ Nine-Patch-Editor это так же просто, как открыть изображение в приложении и сохранить, и у вас есть 9.png.


person firetrap    schedule 22.09.2013    source источник
comment
layer-list поместит фигуры/элементы один поверх других.   -  person gunar    schedule 23.09.2013


Ответы (1)


вы можете попробовать использовать этот инструмент для получения желаемых цветов, http://angrytools.com/gradient/

а затем расположить по горизонтали, одна из идей может заключаться в создании трех рисунков и их расположении с использованием линейного макета.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image1"/>
    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image2"/>
    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image3"/>

</LinearLayout>
person Sam    schedule 22.09.2013
comment
Да, вы правы, это способ, но сложный, я просто создаю png с 3 цветами, я хочу применить девятый патч, чтобы создать 9.png, и вуаля ГОТОВО: D Девятый патч, это круто: D, кстати, я использовал Этот инструмент weblookandfeel.com/nine-patch-editor так же прост, как открыть изображение в приложение и сохраните, и у вас есть 9.png, но я приму ваши ответы, потому что это правильное решение, спасибо;) - person firetrap; 23.09.2013