首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在三星s8+中将DrawerLayout背景设置为透明

无法在三星s8+中将DrawerLayout背景设置为透明
EN

Stack Overflow用户
提问于 2018-08-06 19:15:25
回答 2查看 391关注 0票数 6

我在我的应用程序中使用了DrawerLayout。我使用NavigationView作为导航抽屉的内容,并使用下面的代码片段将其背景设置为透明。

代码语言:javascript
复制
<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上部署相同的代码时,它工作得很好,只是有一个背景。

三星s8+抽屉bg

Redmi 3s抽屉bg

三星s8+抽屉bg透明

Redmi 3s抽屉bg透明

请帮我去掉这个竖条。

EN

回答 2

Stack Overflow用户

发布于 2018-08-18 22:32:50

我现在无法运行代码。然而,我相信这将会奏效。

代码语言:javascript
复制
navigationView.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SOURCE);
票数 0
EN

Stack Overflow用户

发布于 2018-09-12 01:45:45

setDrawerShadow在版本22.1.0中添加了void (可绘制的shadowDrawable,整数重力)设置了一个简单的可绘制,用于左阴影或右阴影。所提供的drawable必须具有非零的固有宽度。对于API 21和更高版本,将在抽屉上设置标高,而不是使用提供的阴影可绘制。

请注意,为了更好地支持从左到右和从右到左的布局方向,可以使用资源限定符"ldrtl“为API 17及更高版本定义RTL布局的绘图(除了LTR布局中的绘图),并使用重力启动。或者,对于API 23和更高版本,可绘制的可以自动镜像,使得可绘制的将在RTL布局中被镜像。

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

使用transparent color R.drawable.trans创建一个可绘制颜色或矩形的形状,然后像这样使用它:

代码语言:javascript
复制
navigationDrawer.setDrawerShadow(R.drawable.trans, GravityCompat.END);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51706360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档