Попробуйте создать подкласс ViewGroup и переопределить метод OnDraw следующим образом, подставив значения для RADIUS_IN_PIXELS:
@Override
protected void onDraw(Canvas canvas) {
Path clipPath = new Path();
clipPath.addRoundRect(new RectF(canvas.getClipBounds()), RADIUS_IN_PIXELS, RADIUS_IN_PIXELS, Path.Direction.CW);
canvas.clipPath(clipPath);
super.onDraw(canvas);
}
..., а также создайте пользовательский объект рисования, например, такой как «округленный», заменив его в YOUR_BACKGROUND_COLOR.и RADIUS_IN_DP, убедившись, что округление прямоугольника в DP соответствует вашему предыдущему радиусу отсечения в PX:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="RADIUS_IN_DP" />
<solid android:color="YOUR_BACKGROUND_COLOR"/>
</shape>
Затем вы можете использовать этот подкласс в макете, добавив строки
android:background="@drawable/rounded"
android:clipChildren="true"
Все дочерние элементы будут обрезать границы, указанные вами в переопределении OnDraw (), и фон будет добавлен на основе вашего «округленного» рисунка.