0

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

谢谢!

这是我在 main.xml 中的列表视图

<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>
4

2 回答 2

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>
于 2013-11-12T05:48:55.250 回答
0

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

于 2013-11-12T05:51:34.273 回答