J'essaie de faire une vue sous Android avec des bords arrondis. La solution que j'ai trouvée jusqu'à présent est de définir une forme avec des coins arrondis et de l'utiliser comme arrière-plan de cette vue.
Voici ce que j'ai fait, définir un dessinable comme indiqué ci-dessous:
<padding
android:top="2dp"
android:bottom="2dp"/>
<corners android:bottomRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
Maintenant, je l'ai utilisé comme arrière-plan pour ma mise en page comme ci-dessous:
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:clipChildren="true"
android:background="@drawable/rounded_corner">
Cela fonctionne parfaitement bien, je peux voir que la vue a des bords arrondis.
Mais ma mise en page contient de nombreuses autres vues enfants, par exemple un ImageView ou un fichier MapView
. Lorsque je place un ImageView
à l'intérieur de la mise en page ci-dessus, les coins de l'image ne sont pas coupés / rognés, mais semblent pleins.
J'ai vu d'autres solutions de contournement pour le faire fonctionner comme celui expliqué ici .
Mais existe-t-il une méthode pour définir des coins arrondis pour une vue et toutes ses vues enfants sont contenues dans cette vue principale qui a des coins arrondis?