Borde de diseño en forma cuadrada con bordes interiores redondos
Estoy intentando crear un borde de diseño con esquinas cuadradas por fuera y redondas por dentro. He deducido que necesito crear una definición dibujable .xml compuesta de dos formas: una con un ancho de trazo y un radio de esquina y otra con un ancho de trazo solamente:
drawables /
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>
Cada uno de estos funciona de forma independiente como un borde cuando se aplica solo:
android:background="@drawable/round_border"
pero cuando se agregan uno o ambos a una lista de elementos dibujables de esta manera:
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>
y
android:background="@drawable/composite_border"
l fondo del diseño es completamente negro en lugar de solo un borde negro.
¿Alguien sabe cómo hacer que la lista de capas funcione para esta tarea?