Android: навигационная панель вертикальной тени

Я применил NavigationDrawer в своем приложении. Я хотел бы знать, как добавить вертикальный эффект тени, который находится ниже основного фрагмента, как показано на рисунке ниже.

enter image description here

У меня есть одно изображение на моем чертеже с теневым изображением. Он называется "drawer_shadow.9", но я не знаю, как это реализовать в моем NavigationDrawer.

Ответ 1

Вам нужно будет использовать выделение для тени. Используйте метод setDrawerShadow для объекта navigationDrawer. Например:

navigationDrawer.setDrawerShadow(R.drawable.someDrawable, GravityCompat.START);

Ссылка на официальный документ: setDrawerShadow

Надеюсь, что это поможет

Ответ 2

(Ящик с правой стороны) Схема действий:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    ...
</LinearLayout>

<LinearLayout
    android:layout_width="280dp"
    android:layout_height="match_parent"
    android:layout_gravity="end"
    android:orientation="horizontal">

    <View
        android:layout_width="20dp"
        android:layout_height="match_parent"
        android:background="@drawable/drawer_shadow"
        android:paddingEnd="0dp"
        android:paddingLeft="-20dp"
        android:paddingRight="0dp"
        android:paddingStart="-20dp" />

    <fragment
        android:id="@+id/fragment_drawer"
        android:name="com.....HomeDrawer"
        android:layout_width="260dp"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:choiceMode="singleChoice"
        tools:layout="@layout/drawer_home" />

</LinearLayout></android.support.v4.widget.DrawerLayout>

Дравер тени:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape>
        <gradient
            android:startColor="#00FFFFFF"
            android:endColor="#f2e9e9e9"
            android:type="linear" />
        <size
            android:height="@dimen/activity_vertical_margin"
            android:width="5dp">
        </size>
    </shape>
</item>

Эффект

:

введите описание изображения здесь