Estou tentando fazer uma visualização no android com bordas arredondadas. A solução que encontrei até agora é definir uma forma com cantos arredondados e usá-la como plano de fundo dessa vista.
Aqui está o que eu fiz, defina um drawable conforme mostrado abaixo:
<padding
android:top="2dp"
android:bottom="2dp"/>
<corners android:bottomRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
Agora eu usei isso como plano de fundo para meu layout conforme abaixo:
<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">
Isso funciona perfeitamente bem, posso ver que a visualização tem bordas arredondadas.
Mas meu layout tem muitas outras visualizações filho, digamos um ImageView ou a MapView
. Quando coloco um ImageView
dentro do layout acima, os cantos da imagem não são cortados / cortados, em vez disso, ela parece cheia.
Eu vi outras soluções alternativas para fazê-lo funcionar como o explicado aqui .
Mas existe um método para definir cantos arredondados para uma visualização e todas as visualizações filhas estão contidas na visualização principal que possui cantos arredondados?