抽屉阴影未被移除

时间:2018-02-12 06:06:52

标签: android

我想在导航视图打开时删除抽屉阴影。正如许多论坛所建议的,我使用下面的代码来删除抽屉阴影。但似乎没有任何影响。请帮我找出错误的地方。我实际上试图达到同样的效果,但是当抽屉打开时,抽屉的末端似乎有一个像线条/阴影效果。它看起来与链接中的那个看起来不一样。以下是我的应用程序的屏幕截图。如您所见,导航抽屉的末端似乎有类似线条/阴影效果。我该如何删除它。我用红色突出了这个问题。 my image

Moving and resizing DrawerLayout's content on sliding

drawer.setScrimColor(Color.TRANSPARENT);
        drawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.END);

我的XML

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/navmenu_gradient"
android:fitsSystemWindows="true"
tools:openDrawer="start"
>

<RelativeLayout android:id="@+id/holder"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<LinearLayout android:id="@+id/content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

</RelativeLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    app:theme="@style/NavigationDrawerStyle"
    android:background="@drawable/navmenu_gradient"
    app:itemTextColor="@drawable/drawer_item_color"
    app:itemIconTint="@drawable/drawer_item_color"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.NavigationView"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />

我的OnDrawerSlide方法

public void onDrawerSlide(查看drawerView,float slideOffset){

                                               // Scale the View based on current slide offset
                                               final float diffScaledOffset = slideOffset * (1 - END_SCALE);
                                               final float offsetScale = 1 - diffScaledOffset;
                                               contentView.setScaleX(offsetScale);
                                               contentView.setScaleY(offsetScale);

                                               // Translate the View, accounting for the scaled width
                                               final float xOffset = drawerView.getWidth() * slideOffset;
                                               final float xOffsetDiff = contentView.getWidth() * diffScaledOffset / 2;
                                               final float xTranslation = xOffset - xOffsetDiff;
                                               contentView.setTranslationX(xTranslation);


                                           }

1 个答案:

答案 0 :(得分:1)

问题是抽屉的高度。所以它投下了阴影。您可以通过将其设置为0来摆脱它。

mDrawerLayout.setDrawerElevation(0);

或通过xml

<android.support.design.widget.NavigationView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:elevation="0dp"
        app:menu="@menu/navigation_menu" />