He tenido muchos problemas con este diseño.
Básicamente tengo 2 lineales, uno que es ligeramente gris con esa sombra en la parte inferior y debajo de otro lineal solo blanco. Mi problema aquí es agregar esa sombra al final del primer lineal. Intenté "elevación", pero eso es lo que necesito ahora, ya que quiero que la sombra esté dentro del tipo lineal si los últimos 10dp son de un color diferente, pero no lo estoy haciendo bien.
Este es mi diseño hasta ahora, pensé en poner una vista dentro del primer lineal, pero no funciona tan bien.
¿Alguna idea de como hacer esto?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
android:layout_width="match_parent"
android:background="#f8f8f8"
android:layout_height="0dp">
<android.support.v7.widget.CardView
app:cardCornerRadius="10dp"
app:cardElevation="10dp"
android:layout_width="312dp"
android:layout_height="204dp"
app:cardBackgroundColor="@android:color/holo_red_light"/>
</LinearLayout>
<LinearLayout
android:background="#ffffff"
android:layout_weight="1"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="0dp">
</LinearLayout>
</LinearLayout>
2 respuestas
Intente usar la línea de abajo en el linearlayout
debajo del cual está sentado su cardview
.
android:elevation="8dp"
Deje que la parte cardElevation
en su cardView
sea como es.
card_view:cardElevation="10dp"
card_view:cardPreventCornerOverlap="false"
También solo una sugerencia:
Si está utilizando android:layout_weight
en ambos hijos linearLayout
ponga android:weightSum="2"
en su padre linearLayout
como se menciona en la respuesta dada por @Ming Leung aquí
Para obtener más información sobre android:weightSum="2"
, puede consultar las respuestas en esta página
Esta página lo ayudaría a elevation
en cardview
Espero que eso ayude.
Pude hacer que funcionara usando un RestraintLayout:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.cardview.widget.CardView
android:layout_width="312dp"
android:layout_height="204dp"
app:cardBackgroundColor="@android:color/holo_red_light"
app:cardCornerRadius="10dp"
app:cardElevation="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" >
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
Preguntas vinculadas
Nuevas preguntas
android
Android es el sistema operativo móvil de Google, que se utiliza para programar o desarrollar dispositivos digitales (teléfonos inteligentes, tabletas, automóviles, televisores, ropa, vidrio, IoT). Para temas relacionados con Android, use etiquetas específicas de Android, tales como intención de Android, actividad de Android, adaptador de Android, etc. Para preguntas que no sean de desarrollo o programación, pero relacionadas con el marco de Android, use este enlace: https: // android.stackexchange.com.