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