我尝试创建一个带有外部为方形,内部为圆形的布局边框。我了解到需要创建一个由两个形状组成的.xml可绘制定义:一个具有描边宽度和圆角半径,另一个仅具有描边宽度:
可绘制定义
round_border.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="4dp" android:color="#FF000000" />
<padding android:left="7dp" android:top="7dp"
android:right="7dp" android:bottom="7dp" />
<corners android:radius="4dp" />
<solid android:color="#FFC0C0C0" />
</shape>
square_border.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2dp" android:color="#FF000000" />
<solid android:color="#FFC0C0C0" />
</shape>
每个独立的边框都可以单独应用,像这样:
当它们被单独应用时,每个边框都可以作为边界线工作:
android:background="@drawable/round_border"
但是当它们被添加到类似以下的项目列表可绘制项中时:
composite_border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<layer-list>
<item android:drawable="@drawable/round_border"/>
<!-- <item android:drawable="@drawable/square_border"/> -->
</layer-list>
</shape>
并且:
android:background="@drawable/composite_border"
布局的背景完全是黑色而不仅仅是黑色边框。
有人知道如何使用图层列表完成此任务吗?