导航抽屉listview透明

时间:2014-03-04 21:04:47

标签: android android-layout android-listview navigation-drawer drawerlayout

我有一个DrawerLayout和Listview作为导航抽屉的活动:

<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">
<RelativeLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"></RelativeLayout>
<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:dividerHeight="1dip"
    android:divider="@drawable/gradient" />

活动已将成功设置在onCreate中的Holo主题设置(基于首选项的亮或暗),但listview是透明的,我可以在后面看到。

如何使listview与其他布局具有相同的主题? listview项具有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="1dip"
android:paddingBottom="1dip"
android:paddingLeft="3dp">
<ImageView
    android:id="@+id/icon"
    android:layout_width="32dip"
    android:layout_height="32dip"
    android:src="@drawable/job_history"
    android:layout_gravity="center_vertical" />
<TextView
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:textColor="#fff"
    android:background="?android:attr/activatedBackgroundIndicator"
    android:minHeight="?android:attr/listPreferredItemHeightSmall"
    android:text="this it a title" />

3 个答案:

答案 0 :(得分:1)

使用android:background。我的导航抽屉有一个ListView,我应用

android:background="#f1f1f1"

在LinearLayout上使用它也应该这样做。

答案 1 :(得分:0)

我建议给ListView一个背景

<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:dividerHeight="1dip"
    android:divider="@drawable/gradient"
    android:background="@color/list_background" />

答案 2 :(得分:0)

你可以使用:

android:background="?android:windowBackground"

并将其应用于您的列表,因此您的列表将始终使用当前应用主题中指定的窗口背景。没有硬编码,没有编码,只有造型。 e.g:

 <ListView android:background="?android:windowBackground"
    android:id="@+id/list_drawer_start"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />