2

我正在尝试用 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>

解决方案更新

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

4

1 回答 1

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>
于 2013-09-22T20:18:32.223 回答