使用具有多个循环项目的图层列表

Posted

技术标签:

【中文标题】使用具有多个循环项目的图层列表【英文标题】:Using a layer-list with multiple circular items 【发布时间】:2019-12-21 16:50:29 【问题描述】:

我正在尝试制作一个看起来大致像的形状

我知道我需要一个layer-list,其中 3 个项目相互堆叠,其中两个从左上角和右下角偏移。这是我的代码

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:right="8dp" android:bottom="8dp">
        <shape android:shape="oval">
            <solid android:color="@color/color_white" />
        </shape>
    </item>


    <item android:top="8dp" android:left="8dp">
        <shape android:shape="oval">
            <solid android:color="@color/color_gray" />
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <solid android:color="@color/color_circle" />
        </shape>
    </item>

</layer-list>

但我没有得到正确的输出。更具体地说,如您在此处看到的,白色和黑色形状的尺寸小于中间的形状

我不知道为什么会这样。谁能帮帮我?谢谢

【问题讨论】:

【参考方案1】:

尝试为每个形状指定宽度和高度:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:right="8dp" android:bottom="8dp">
        <shape android:shape="oval">
            <solid android:color="@android:color/white" />
            <size android: android: />
        </shape>
    </item>


    <item android:top="8dp" android:left="8dp">
        <shape android:shape="oval">
            <solid android:color="@android:color/black" />
            <size android: android: />
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <solid android:color="@android:color/darker_gray" />
            <size android: android: />
        </shape>
    </item>

</layer-list>

这给了我以下图像:

【讨论】:

谢谢。这行得通,但是,我仍然很好奇为什么首先会出现这种行为。无论如何,谢谢! @AbdulMateen 这很奇怪,因为我根本没有遇到你的问题。我复制粘贴了您的原始代码并得到了不同的结果(与上面相同,但为椭圆形) 嗯,我认为它可能会发生,因为我在布局中填充了许多这样的形状,并且由于大小限制,它可能会导致问题。 之所以这么说是因为这个形状的 xml 预览显示了正确的结果,但是当我在布局文件中使用它时,外圈的大小会变得混乱。

以上是关于使用具有多个循环项目的图层列表的主要内容,如果未能解决你的问题,请参考以下文章

如何显示具有多种样式的图层图

悬停时如何在图像上添加具有多重混合模式的图层?

当列表位于导航栏下方时,如何摆脱出现在导航栏顶部的图层?

WP LayerSlider 中的图层不会触发悬停事件

arcgis里一个数据框的图层怎么在另一个数据框里显示

如何访问使用 Paintcode 生成的 UIView 自定义类中的图层?