调整图层列表 (layer-list) Drawable

问题描述

我有一个由多个形状组成的图层列表。使用 android:top/bottom/left/right 将图层列表中的项目相对于彼此定位。不幸的是,这使 Drawable 成为固定大小。当您尝试调整可绘制对象的大小时,单个形状会缩放,但它们之间的间距保持固定且不会缩放。如何创建一个 LayerList drawable 并将复合 drawable 作为一个整体进行缩放?

这是一个有问题的 LayerList 的简单示例:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/top_circle"
    android:gravity="top"
    android:top="0dp"
    android:bottom="30dp"
    android:left="15dp"
    android:right="15dp">
    <shape
        android:shape="oval">
        <solid android:color="@color/white" />
    </shape>
</item>
<item
    android:id="@+id/top_right_circle"
    android:gravity="top"
    android:top="6.75dp"
    android:bottom="26.75dp"
    android:left="26.75dp"
    android:right="6.75dp">
    <shape
        android:shape="oval">
        <solid android:color="@color/white" />
    </shape>
</item>

将其放置在图像视图中会导致其大小始终相同。更改 layout_width 和 layout_height 会影响两个嵌套椭圆的大小,但它们之间的距离保持不变。

请注意,如果我为形状指定大小,它们也会停止调整大小。

<ImageView
    android:id="@+id/progress_spinner"
    android:layout_width="55dp"
    android:layout_height="55dp"
    android:background="@drawable/wheel0"
    android:visibility="visible">
</ImageView>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...