如何使用Android XML定义将圆形放在矩形末端?

4

是否可以定义如下图所示的形状:

矩形末端圆形

我尝试使用layer-list,但是我找不到接近我想要的解决方案。

我希望将结果形状用作RelativeLayout的背景图像,并设置透明度。

任何提示都将不胜感激!谢谢。

1个回答

4

这是您要求的形状:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="rectangle">
        <size 
            android:width="250dp"
            android:height="100dp" />
        <solid android:color="#ffffff" />
    </shape>
</item>

<item
    android:top="0dp">
    <shape android:shape="line">
        <stroke
            android:width="25dp"
            android:color="#000000" />
    </shape>
</item>

<item
    android:right="0dp"
    android:left="150dp">
    <shape android:shape="oval">
        <solid android:color="#000000" />
    </shape>
</item>
</layer-list>

截屏: 输入图像描述

这在一定程度上解决了我的问题。透明度部分在你的解决方案中无法正常工作。而且缩放很麻烦。我会给你答案的荣誉。 - OpenHaus
@OpenHaus 我还没有测试过透明背景而不是白色背景的形状。你可以试试看... 关于缩放,我同意,一旦你改变容器矩形(白色矩形)的大小,你可能需要调整其余形状的大小。虽然形状可绘制对象会自动缩放以适应不同的密度,但你可能考虑在 res/values 文件夹下使用不同的尺寸值来定义你的形状。 - Onik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接