Aggiornamento: Verificare my modification.
Ecco una soluzione:
Copia the source code di CardView
. Quindi crea il tuo modulo di libreria Android e utilizza questo modulo anziché la libreria di supporto. Dopo questi, commento o rimuovere il codice in CardView come qui di seguito:
static {
// if (Build.VERSION.SDK_INT >= 21) {
// IMPL = new CardViewApi21Impl();
// } else
if (Build.VERSION.SDK_INT >= 17) {
IMPL = new CardViewApi17Impl();
} else {
IMPL = new CardViewBaseImpl();
}
IMPL.initStatic();
}
Cioè, si userà compat-versione CardViewApi17Impl
anche quando api è di 21 o superiore. Quindi, è possibile definire il proprio cardview_shadow_start_color
e cardview_shadow_end_color
per sovrascrivere quelli della classe RoundRectDrawableWithShadow
. Inoltre, puoi renderlo più personalizzabile.
La speranza può aiutare qualcuno.
fonte
2017-11-01 09:05:16
Ancora sto trovando la soluzione per questo. Fammi sapere se ce l'hai. –
@ Maulikpatel Penso di aver trovato un progetto su Github ma non ricordo il nome. Che cosa hai trovato? – Davidea
Dovrebbe essere questo: https://github.com/ZieIony/Carbon: nella descrizione si dice "CardView con ombre reali e angoli arrotondati" ma non l'ho provato. – Davidea