我有一个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" />
答案 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"
/>