Busqué alrededor y no pude encontrar una manera adecuada de hacer esto. Quiero tener los siguientes efectos de sombra en mis vistas:
Para ser honesto, no sé si este segundo se hace aplicando efecto de sombra. ¿Algunas ideas?
android
shadow
dropshadow
caminante largo
fuente
fuente
Respuestas:
Sé que esta pregunta ya ha sido contestada pero quiero que sepas que me encontré con un
drawable
sobreAndroid Studio
que es muy similar a las fotografías que tiene en la pregunta: Tome un vistazo a esto:Se parece a esto:
Espero que sea de ayuda
Editar
La opción anterior es para las versiones anteriores de,
Android Studio
por lo que es posible que no la encuentre. Para versiones más nuevas:Además, si quieres tener tu propia forma personalizada, te sugiero que utilices un software de dibujo como
Photoshop
y lo dibujes.No se olvide de guardarlo como
.9.png
archivo (ejemplo:my_background.9.png
)Leer la documentación: Draw 9-patch
Editar 2
Una solución aún mejor y menos laboriosa es usar un
CardView
y un conjuntoapp:cardPreventCornerOverlap="false"
para evitar que las vistas se superpongan a los bordes:También asegúrese de haber incluido la última versión en la versión
build.gradle
actual.fuente
/<sdk-path>/extras/android/support
.cardView
Estoy usando Android Studio 0.8.6 y no pude encontrar:
así que encontré esto en su lugar:
y se ve así:
fuente
poner un fondo de
@android:drawable/dialog_holo_light_frame
, da sombra, pero no puede cambiar el color de fondo ni el estilo del borde, por lo que es mejor beneficiarse de la sombra, mientras aún puede poner un fondo a través de la lista de capasguárdelo en la carpeta dibujable debajo de decir
shadow.xml
para asignarlo a una vista, en el archivo de diseño xml configure el fondo de la misma
fuente
Cree card_background.xml en la carpeta res / drawable con el siguiente código:
Luego agregue el siguiente código al elemento al que desea el diseño de la tarjeta
la siguiente línea define el color de la sombra de la tarjeta
fuente
CardView le brinda una verdadera sombra en Android 5+ y tiene una biblioteca de soporte. Simplemente envuelva su vista con él y listo.
Requiere la siguiente dependencia.
fuente
CardView
también tiene diferentes niveles de sombra para diferentes elevaciones en modo compat.Utilice la propiedad de elevación para lograr un efecto de sombra:
Esto solo se debe usar después de la v21, consulte este enlace: http://developer.android.com/training/material/shadows-clipping.html
fuente
Esto puede ser tarde, pero para aquellos que todavía están buscando una respuesta, encontré un proyecto en git hub y este es el único que realmente se ajusta a mis necesidades. android-materialhadowninepatch
Simplemente agregue esta línea en su dependencia build.gradle
salud. aprobado por el creador! happycodings
fuente
Sé que esto es estúpidamente hacky,
pero si quieres apoyar bajo v21, aquí están mis logros.
rectangle_with_10dp_radius_white_bg_and_shadow.xml
rectangle_with_10dp_radius_white_bg_and_shadow.xml (v21)
view_incoming.xml
Aquí está el resultado:
Bajo v21 (esto es lo que hizo con xml)
Por encima de v21 (renderizado de elevación real)
fuente
Si necesita que las sombras se apliquen correctamente, debe hacer lo siguiente.
Considere esta vista, definida con un diseño de fondo:
El dibujable de fondo se define como un rectángulo con esquinas redondeadas:
Esta es la forma recomendada de aplicar sombras, mira esto https://developer.android.com/training/material/shadows-clipping.html#Shadows
fuente
Utilice la propiedad de elevación para el efecto de sombra:
fuente
Cree un diseño de fondo como este para mostrar la sombra redondeada.
fuente
Esta pregunta puede ser antigua, pero para cualquiera en el futuro que quiera una forma simple de lograr efectos de sombra complejos, consulte mi biblioteca aquí https://github.com/BluRe-CN/ComplexView
Con la biblioteca, puede cambiar los colores de las sombras, ajustar los bordes y mucho más. Aquí tienes un ejemplo para lograr lo que buscas.
Para cambiar el color de la sombra, use app: shadowColor = "su código de color".
fuente
usa esta forma como fondo:
fuente