多色线与形状

时间:2013-09-22 19:55:12

标签: android shapes nine-patch

我想尝试用3种或更多颜色完成单行背景,我想知道它是否可能与xml形状或我要使用9补丁?我是一个有形状的新手,我整个上午都在努力完成我想要的东西,但没有。

以下是我想要实现的目标:

enter image description here

我已经尝试过使用渐变的这个形状,但它只假设起始颜色

<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>

解决方案更新

除了SAM提供的答案之外,我发现9.png是我问题的最佳答案。我简单地用3种颜色创建一个png然后应用九个补丁并完成:D我使用过这个工具weblookandfeel .com / nine-patch-editor就像在应用程序中打开图像一样简单并保存并且你有9.png。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用此工具获取所需的颜色, http://angrytools.com/gradient/

然后在横向排列,其中一个想法可以是,创建三个drawable并使用线性布局排列它们

<?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>