如何设置导航抽屉背景的透明度?

时间:2014-05-22 13:32:17

标签: android navigation-drawer

我需要能够将背景设置为完全透明。似乎以前没有人尝试过。请帮忙。

如果我正确,我们需要使framelayout背景完全透明。但是没有效果。

感谢你的所有回应,但到目前为止它们似乎都没有。

为了进一步澄清,我需要使listview下面的背景透明。

也就是说,当抽屉完全打开时。可以看到下面活动的部分屏幕。它显示为模糊的灰色,一些文字可见。我需要它完全可见。

我是否需要更改活动中的某些主题?

以下是完整的布局xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/navDraweLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/headerLayout"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@color/headerBlue"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:padding="10dp" >

    <Button
        android:id="@+id/drawer_btn"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_alignParentLeft="true"
        android:background="@color/logoutBtnBlue"
        android:onClick="drawerBtnClicked"
        android:padding="5dp"
        android:textColor="@color/white" />

    <TextView
        android:id="@+id/headerText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:text="PeepApp"
        android:textColor="@color/white"
        android:textSize="25dp" />

    <Button
        android:id="@+id/logout_btn"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_alignParentRight="true"
        android:background="@color/logoutBtnBlue"
        android:onClick="logoutBtnClicked"
        android:padding="5dp"
        android:text="Logout"
        android:textColor="@color/white" />
</RelativeLayout>

<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:alpha="1"  
     android:background="@android:color/transparent"
     >

    <FrameLayout
        android:id="@+id/content_frame"
         android:alpha="0.3"  
         android:background="#00000000"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!--
     android:layout_gravity="start" tells DrawerLayout to treat
     this as a sliding drawer on the left side for left-to-right
     languages and on the right side for right-to-left languages.
     The drawer is given a fixed width in dp and extends the full height of
     the container. A solid background is used for contrast
     with the content view.
    -->

    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/logoutBtnBlue"
        android:choiceMode="singleChoice"
        android:divider="@android:color/white"
        android:dividerHeight="1dp" />
</android.support.v4.widget.DrawerLayout>

1 个答案:

答案 0 :(得分:6)

不确定我是否了解你,我会试一试。我们来看看吧。如果我没弄错的话,你看不到抽屉本身。你看到的是里面的ListView。因此,为了将其背景设置为透明,您需要设置

android:background="@android:color/transparent"

到ListView XML。

这将使其完全不可见,但如果您想要使用某种颜色的透明度,则可以使用已接受的答案here来选择正确的值。

希望这有帮助。