如何在透明的ListView下放置背景?

时间:2013-11-12 05:41:39

标签: android

现在我拥有的只是一个自定义渐变作为背景颜色的列表视图。当我的列表中有2个项目时,其下方的其余部分都是全黑的。我不能在任何可以显示背景的地方设置背景图像。我希望的结果是在整个视图的背面有一个背景图像,透明列表视图会覆盖它。怎么可以这样做?如果您需要我的项目中的更多信息/代码,请告诉我。

谢谢!

这是我在main.xml中的listview

<ListView
    android:id="@+id/store_list2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/store_div2"
    android:divider="#000000"
    android:dividerHeight="1dp"
    android:listSelector="@drawable/list_selector"/>

这是list_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
 android:state_selected="false"
    android:state_pressed="false"
    android:drawable="@drawable/gradient_bg" />

<item android:state_pressed="true"
    android:drawable="@drawable/gradient_bg_hover" />

<item android:state_selected="true"
 android:state_pressed="false"
    android:drawable="@drawable/gradient_bg_hover" />
</selector>

这是我的list_row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/list_selector"
    android:orientation="horizontal"
    android:padding="10dp" >

<!--  Application Icon -->
<LinearLayout 
    android:id="@+id/gmg_thumbnail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="3dp"
    android:layout_alignParentLeft="true"
    android:background="@drawable/image_bg"
    android:layout_marginRight="5dp">

    <ImageView
        android:id="@+id/gmg_list_image"
        android:layout_width="50dp"
        android:layout_height="50dp" />

</LinearLayout>

<!-- Title-->
<TextView
    android:id="@+id/gmg_title"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:paddingLeft="10dp"
    android:layout_toRightOf="@id/gmg_thumbnail"
    android:textColor="#040404"
    android:typeface="sans"
    android:textSize="15sp" />

 <!-- Rightend Arrow -->
 <ImageView 
    android:contentDescription="@string/right_arrow"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/scaled_arrow"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"/>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

在包含ListView的父布局上设置所需的背景。

android:background="@drawable/ic_launcher" 

像这样(假设RelativeLayout是你的父布局)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_launcher" >

   <ListView
    android:id="@+id/store_list2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/store_div2"
    android:divider="#000000"
    android:dividerHeight="1dp"
    android:listSelector="@drawable/list_selector"/>

</RelativeLayout>

答案 1 :(得分:0)

将此属性android:cacheColorHint="#00000000"添加到ListView