我在我的应用程序中使用DrawerLayout。我使用NavigationView获取导航抽屉的内容,并使用下面的代码片段将其背景设置为透明。
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center"
android:background="@android:color/transparent">
</android.support.design.widget.NavigationView>
在三星s8 +当我打开抽屉时,它在末端显示一个垂直条。当我从NavigationView中删除透明度时进行调试时,我发现三星s8 +除了背景外还包含灰色条。当我在Red mi 3s上部署相同的代码时,它工作得很好,它只有一个背景。
请帮我删除这个垂直条。
我现在无法运行代码。不过我相信这会奏效。
navigationView.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SOURCE);
在版本22.1.0中添加的setDrawerShadow void setDrawerShadow(Drawable shadowDrawable,int gravity)设置用于左或右阴影的简单drawable。提供的drawable必须具有非零的固有宽度。对于API 21及更高版本,将在抽屉上设置高程,而不是使用提供的阴影可绘制。
请注意,为了更好地支持从左到右和从右到左的布局方向,可以使用API 17的资源限定符“ldrtl”定义RTL布局的绘图(除了LTR布局中的布局)。以上重力START。或者,对于API 23及更高版本,drawable可以自动镜像,使得drawable将在RTL布局中镜像。
使用透明色R.drawable.trans
创建颜色可绘制或矩形形状,然后像这样使用它:
navigationDrawer.setDrawerShadow(R.drawable.trans, GravityCompat.END);