摆脱Android导航抽屉的半透明效果

use*_*167 8 android android-layout

在我的应用程序中,我正在使用支持库中的导航抽屉.它默认是半透明的,设置它或它的孩子的背景颜色只是增加了这种颜色的半透明版本.这是抽屉及其两个孩子:

 <android.support.v4.widget.DrawerLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black">
<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
<ListView android:id="@+id/left_drawer_p"
    android:layout_width="500dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:dividerHeight="0dp"
    android:background="@color/grey"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

Jas*_*ite 13

你想要setScrimColor零alpha.

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerLayout.setScrimColor(Color.parseColor("#00FFFFFF"));
Run Code Online (Sandbox Code Playgroud)

其中,R.id.drawer_layout是的ID我DrawerLayout


小智 5

我不太明白你的问题,但如果你想让导航抽屉透明,那么使用以下代码:

android:background="#60FFFFFF"
Run Code Online (Sandbox Code Playgroud)

其中“60”大约是 38% 的透明度(十六进制的 60 是十进制的 96,所以是 96/255%)。

但是如果你的导航抽屉已经是透明的,我已经使用了代码:

android:background="#FFFFFF"
Run Code Online (Sandbox Code Playgroud)

它工作正常,并且不透明。

两种颜色都是白色的 HTML 颜色代码,简单的谷歌搜索会找到其他颜色的代码。