如何改变android高程阴影的方向?

Val*_*ler 22 xml android shadow android-elevation android-framelayout

我有FrameLayout与android:elevation ="4dp".这个高度的阴影朝下.我想改变阴影的方向.

<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>
Run Code Online (Sandbox Code Playgroud)

Val*_*ler 11

我认为这种方法是最好的解决方案:带有投影的Android底部导航栏谢谢,Alexander Bilchuk.

解:

您可以使用简单的View及其背景在视图上方绘制自己的阴影:

<View
    android:layout_width="match_parent"
    android:layout_height="4dp"
    android:layout_above="@id/bottom_bar"
    android:background="@drawable/shadow"/>
Run Code Online (Sandbox Code Playgroud)

绘制/ 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>
Run Code Online (Sandbox Code Playgroud)

此外,如果使用此方法,则不存在兼容性问题.


Mih*_*hai 5

视图阴影可以被翻译,或通过改变如在此详述的视图的轮廓提供者在x和y方向上,更经缩放

  • 您介意通过显示代码来展示您的答案吗?而不是发布指向某人帖子的链接? (5认同)