可绘制的多个形状

问题描述 投票:0回答:1

是否有可能在一个drawable中有多个形状?

我正在尝试为seekbar创建“progressDrawable”;通过在单个可绘制资源文件中制作单个圆圈并使用填充(我猜不是一个好主意)进行偏移。

但似乎没有像在Android Studio中的“预览”中那样工作。我刚刚开始Android开发;请帮我解决这个问题。另外我觉得可能有更好的方法来完成这项工作,而不是在可绘制文件中创建这些单独的圆圈。

我正在尝试创建这样的东西:

enter image description here

到目前为止我所取得的成就:

  <SeekBar
    android:id="@+id/slider"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_toRightOf="@+id/seekbar_cancel"
    android:layout_toLeftOf="@+id/seekbar_apply"
    android:progressDrawable="@drawable/custom_seeker"
    />

custom_seeker.xml:

  <?xml version="1.0" encoding="utf-8"?>

<item android:top="0dp" android:left="0dp" android:bottom="7dp" android:right="7dp">
    <shape android:shape="oval">
        <size android:width="1dp"
            android:height="1dp"/>
        <solid android:color="#f06"/>
    </shape>
</item>
<item android:top="0dp" android:left="2dp" android:bottom="7dp" android:right="5dp">
    <shape android:shape="oval">
        <size android:width="1dp"
            android:height="1dp"/>
        <solid android:color="#0f0"/>
    </shape>
</item>

<item android:top="0dp" android:left="4dp" android:bottom="7dp" android:right="3dp">
    <shape android:shape="oval">
        <size android:width="1dp"
            android:height="1dp"/>
        <solid android:color="#0f8"/>
    </shape>
</item>
<item android:top="0dp" android:left="6dp" android:bottom="7dp" android:right="1dp">
    <shape android:shape="oval">
        <size android:width="1dp"
            android:height="1dp"/>
        <solid android:color="#f00"/>
    </shape>
</item>

java android android-seekbar
1个回答
0
投票

是否有可能在一个drawable中有多个形状?

是的,你应该使用layer-list

© www.soinside.com 2019 - 2024. All rights reserved.