android - privacidad - como cambio mi domicilio en google maps
¿Cómo cambiar la dirección de la sombra de elevación de Android? (2)
Tengo FrameLayout con android: elevation = "4dp". Sombra de esta elevación dirigida hacia abajo. Quiero cambiar la dirección de la sombra hacia arriba.
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="100dp"
android:elevation="10dp"
android:layout_marginBottom="100dp"
android:background="@color/ColorPrimary"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
</FrameLayout>
Considero que este método es la mejor solución: Barra de navegación inferior de Android con sombra paralela Gracias, Alexander Bilchuk.
Solución:
Puede dibujar su propia sombra justo encima de la vista utilizando la vista simple y su fondo:
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_above="@id/bottom_bar"
android:background="@drawable/shadow"/>
dibujable / shadow.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#1F000000"
android:endColor="@android:color/transparent"
android:angle="90" />
</shape>
Además, no hay problemas de compatibilidad si utiliza este enfoque.
En lo que a mí respecta, no cambias la sombra por ti mismo. En el Diseño de materiales de androides, la sombra se determina automáticamente por la cantidad que elevas un elemento.
De acuerdo con esta pregunta https://graphicdesign.stackexchange.com/questions/80644/where-are-the-light-sources-located-in-material-design la fuente de luz es
45 grados de altitud y 90 grados de ángulo
Realmente no debe usar sombras diferentes, ya que destruirá la consistencia general del diseño del material. Entonces lo único que debes hacer es elevar tus elementos. Tal vez debería volver a leer las Guías de diseño de materiales: https://material.io/guidelines/material-design/environment.html#environment-light-shadow