代码之家  ›  专栏  ›  技术社区  ›  j2emanue

如何在彼此的顶部绘制3个透明不同的圆?

  •  1
  • j2emanue  · 技术社区  · 6 年前

    enter image description here 我正在尝试创建一个由三个圆组成的内部图层。在里面我会有一个花朵的图像。

    背景可以改变… 如果它放在一个蓝色的背景上,它将是蓝色的阴影。因此,我需要以某种方式调整交易,使之生效。 中心 必须始终 但是要完全变白。然后我想在中间添加我的图像。

    我创建了一个层列表来实现这一点,但是我不能让圆透明化,我只能让两个圆出现? 如何使位图显示在中间?

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- Larger  circle in back -->
        <item>
            <shape android:shape="oval">
                <solid android:color="#726"/>
                <size
                    android:width="35dp"
                    android:height="35dp"/>
            </shape>
        </item>
    
        <item>
            <shape android:shape="oval">
                <solid android:color="#00f"/>
                <size
                    android:width="25dp"
                    android:height="25dp"/>
            </shape>
        </item>
        <!-- Smaller  circle in front -->
        <item>
            <shape android:shape="oval">
                <!-- transparent stroke = larger_circle_size - smaller_circle_size -->
                <stroke android:color="@android:color/transparent"
                    android:width="5dp"/>
                <solid android:color="#f00"/>
                <size
                    android:width="10dp"
                    android:height="10dp"/>
            </shape>
        </item>
    </layer-list>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   AskNilesh    6 年前

    试试这个

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item>
            <shape android:shape="oval">
                <solid android:color="#b5ed9259" />
                <size
                    android:width="30dp"
                    android:height="30dp" />
            </shape>
        </item>
    
        <item>
            <shape android:shape="oval">
                <stroke
                    android:width="5dp"
                    android:color="@android:color/transparent" />
                <solid android:color="#cff27527" />
                <size
                    android:width="25dp"
                    android:height="25dp" />
            </shape>
        </item>
    
        <item
            android:bottom="2dp"
            android:left="2dp"
            android:right="2dp"
            android:top="2dp">
            <shape android:shape="oval">
                <stroke
                    android:width="5dp"
                    android:color="@android:color/transparent" />
                <solid android:color="#fbda5807" />
                <size
                    android:width="20dp"
                    android:height="20dp" />
            </shape>
        </item>
    
        <item
            android:bottom="5dp"
            android:left="5dp"
            android:right="5dp"
            android:top="5dp">
            <shape android:shape="oval">
                <stroke
                    android:width="5dp"
                    android:color="@android:color/transparent" />
                <solid android:color="#FFFFFF" />
                <size
                    android:width="30dp"
                    android:height="30dp" />
            </shape>
        </item>
    
        <item
            android:bottom="5dp"
            android:drawable="@drawable/ic_fav"
            android:gravity="center"
            android:left="5dp"
            android:right="5dp"
            android:top="5dp"/>
    
    </layer-list>
    

    产量

    enter image description here