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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta