无法在三星s8 +中使DrawerLayout背景透明

时间:2018-08-06 11:15:25

标签: android android-layout drawerlayout

我在我的应用程序中使用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上部署相同的代码时,它工作正常,只是具有背景。

三星s8 +抽屉式背景墙 enter image description here

Redmi 3s抽屉式背架 enter image description here

三星S8 +抽屉式BG透明 enter image description here

Redmi 3s抽屉式BG透明 enter image description here

请帮助我删除此竖线。

2 个答案:

答案 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布局。

https://developer.android.com/reference/android/support/v4/widget/DrawerLayout#setDrawerShadow(int,%20int)

创建具有透明颜色R.drawable.trans的彩色可绘制或矩形形状 然后像这样使用它:

navigationDrawer.setDrawerShadow(R.drawable.trans, GravityCompat.END);