Ho uno CardView
con gli angoli arrotondati, voglio avere uno ImageView
nella parte superiore come mostrato nell'esempio tratto dalle linee guida sulla progettazione dei materiali di seguito.Realizza ImageView adatta larghezza di CardView
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
card_view:cardCornerRadius="4dp">
<!-- ... -->
</android.support.v7.widget.CardView>
Poi all'interno del CardView
ho questo ImageView
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:scaleType="centerCrop"
android:src="@drawable/default_cover" />
Se ho il set card_view:cardCornerRadius
al 0dp
poi il ImageView
adatta la carta come come lo voglio a.
Tuttavia, lo stato material design guidelines che le carte dovrebbe avere spigoli arrotondati e gli angoli non quadrati.
Il problema che ho è quando ho impostato il card_view:cardCornerRadius
su un valore diverso da 0dp
, ad es. 4dp
, allora avviene quanto segue:
Come si vede, il ImageView
non rientra nel CardView
.
La mia domanda è, come posso rendere questo ImageView
adattato al layout dello CardView
quando ha gli angoli arrotondati.
Daniel potrebbe essere accadendo su API inferiore a 21 (5.0) Lollipop, lo stesso problema esiste in gioco App Store così –
@Vipinhelloindia Sì hai ragione, questo succede solo pre-L. La panoramica della classe per CardView (https://developer.android.com/reference/android/support/v7/widget/CardView.html) descrive cosa succede prima di L perché il ritaglio di un angolo sembra essere una caratteristica di L e solo sopra. – Dan