我想创建Drawable,如上图所示的白色形状。
我使用以下代码
尝试<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="40dp" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="3dp"
android:color="@android:color/white" />
<size
android:height="150dp"
android:width="150dp" /></shape>
但是我得到像这样的输出..
我还尝试了layer-list
多个Shapes,但无法获得所需的输出..
我的ImageView
的高度和宽度也是按代码计算的。所以我也不想在drawable中传递大小。有可能??
答案 0 :(得分:1)
您可以使用以下xml绘制形状;
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#fff" ></solid>
<size
android:width="100dp"
android:height="100dp"/>
</shape>
</item>
<item android:top="5dp" android:bottom="5dp" android:left="5dp" android:right="5dp">
<shape android:shape="rectangle">
<corners android:radius="10dp" />
<solid android:color="#000" ></solid>
<size
android:width="90dp"
android:height="90dp"/>
</shape>
</item>
</layer-list>
我们互相画两件物品。在第一层上放置一个白色正方形,并在白色正方形内放置另一个半径为10dp,边距为5dp的黑色正方形。
您还可以控制可绘制分配的imageView的宽度和高度,并相应地缩放。