android - 如何从上到下创建 3 个形状图层列表
问题描述
大家好,所以我为 3 个形状创建了 2 个 xml。2 个形状是矩形 1 个是环形。
第一个 XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/colorGrey"/>
<size android:height="40dp" android:width="10dp"/>
</shape>
第二个 XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/colorWhite"/>
<size android:height="40dp" android:width="40dp"/>
</shape>
然后我像这样创建了一个可绘制的图层列表
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/rectangle"
android:gravity="center" />
</item>
<item android:top="40dp">
<bitmap android:src="@drawable/circle"
android:gravity="center" />
</item>
<item android:top="40dp">
<bitmap android:src="@drawable/rectangle"
android:gravity="center" />
</item>
</layer-list>
我的主要目标是创建这个. 主要问题是它们彼此堆叠在一起。
解决方案
试试这个(我根据您的代码假设图像大小为 40x40dp,并根据您的图像假设白色背景):
<?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="@color/white"/>
<size android:height="40dp" android:width="40dp"/>
</shape>
</item>
<item
android:right="18dp"
android:left="18dp">
<shape
android:shape="rectangle">
<solid android:color="@color/green"/>
<size android:height="40dp" android:width="4dp"/>
</shape>
</item>
<item android:gravity="center">
<shape
android:shape="oval">
<solid android:color="@color/green"/>
<size android:height="15dp" android:width="15dp"/>
<stroke android:width="2dp" android:color="@color/white"/>
</shape>
</item>
</layer-list>
推荐阅读
- python - numpy 数组操作:为什么 numpy 数组的地址与拼接后其子集的地址不同
- version-control - SONAME 库的版本控制最佳实践
- python - 如何从嵌入式 plot.ly 图表中提取数据
- git - 错误:gpg 无法对数据进行致命签名。无法写入提交对象
- java - Lambda 表达式的烟灰调用图
- javascript - React 单元测试 React 传奇
- excel - 从不同的工作表中读取列标题,略有差异
- java - 如何通过命令行创建 jar 文件?
- reactjs - webpack v4 包不引用 .js.gz 块
- r - 如何从R中的年龄和当前日期计算出生日期