我在我的应用程序中使用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>
在Samsung s8 +中,当我打开抽屉时,它的末尾显示竖线。在调试时,当我从NavigationView中删除透明性时,我知道Samsung s8 +除了背景之外还包含灰色色条。当我在Red mi 3s上部署相同的代码时,它工作正常,只是具有背景。
请帮助我删除此竖线。
答案 0 :(得分:0)
我现在无法运行代码。但是我相信这会起作用。
navigationView.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SOURCE);
答案 1 :(得分:-1)
在版本22.1.0中添加的setDrawerShadow无效setDrawerShadow(Drawable shadowDrawable, int重力)设置用于左侧或右侧阴影的简单可绘制对象。提供的drawable必须具有非零的本征 宽度。对于API 21及更高版本,将在抽屉上设置一个标高 而不是使用提供的阴影可绘制对象。
请注意,为了更好地支持从左到右和从右到左 布局方向,用于RTL布局的可绘制对象(除了一个 可以使用资源限定符“ ldrtl”来定义 API 17及更高版本,具有重力启动功能。另外,对于API 23和 以上,可绘制对象可以自动镜像,以便可绘制对象 镜像为RTL布局。
创建具有透明颜色R.drawable.trans
的彩色可绘制或矩形形状
然后像这样使用它:
navigationDrawer.setDrawerShadow(R.drawable.trans, GravityCompat.END);