CardView es un FrameLayout con un borde redondeado y una sombra.Para provocar la sombra usa la la propiedad elevation en Lollipop.
Debido a que generar bordes redondeados es muy costoso en versiones anteriores puesto que tenía que recortar todos los elementos hijos, CardView aplica un padding extra para que no se produzca tal intersección (Para más detalles setPreventCornerOverlap(boolean)
).
Antes de Lollipop, CardView añade padding a su contenido y dibuja sombras en esa área. La cantidad que añade es:
El padding se utiliza para compensar el contenido de las sombras, no se puede setear un padding a la CardView. En su lugar, se puede utilizar los atributos de padding en XML o setContentPadding(int, int, int, int) por código para establecer un padding entre los bordes de la vista y los hijos del CardView.
Hay que tener en cuenta que, si se especifican dimensiones exactas para un CardView, debido a las sombras, el área de su contenido puede diferir entre versiones anteriores a Lollipop y posteriores. Usando recursos especiales para cada versión, podemos evitar estas transformaciones.
Para cambiar la elevación de forma compatible para versiones anteriores, utilice setCardElevation(float). CardView utilizará la API de elevación en Lollipop y antes de Lollipop cambiará el tamaño de la sombra. Para evitar mover la vista mientras se cambia el tamaño de la sombra, dicho tamaño se fija por getMaxCardElevation(). Si tenemos que cambiar la elevación de forma dinámica, hay que llamar a setMaxCardElevation(float) cuando se inicializa el CardView.
Añadimos en XML:
Implementación:
La implementación es sencilla puesto que se trata de una vista más.
Dependencies:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:palette-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.3'
compile 'com.squareup.picasso:picasso:2.4.0'
compile 'com.android.support:cardview-v7:21.0.+'
}
En este primer vídeo del curso de Android desde 0 se explica cómo maquetar una…
Como siempre, si quieres ver directamente el vídeo donde se realiza toda la configuración pasos…
En esta ocasión hacemos una review del cargador inalámbrico Samsung Wireless Charger Duo Pad de…
Primero y antes de nada, si quieres ver un vídeo detallado de esta prueba, tienes…
El 23 de marzo se presentaron los nuevos dispositivos de OnePlus. Han sido una grata…
Primero y antes de nada, si quieres ver un vídeo detallado de los Samsung Galaxy…