Hey Guys面临在ListView上设置背景图片的问题。代码如下
history.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:src="@drawable/back">
</ListView>
<TextView android:id="@id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFff00"
android:text="No data"
android:cacheColorHint="#00000000"
/>
</LinearLayout>
rowlayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:id="@+id/ProductName"
android:textSize="25sp"
android:textColor="#FFFF00"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Java代码
...
setListAdapter(new ArrayAdapter<String>(this, R.layout.rowlayout,R.id.ProductName,Names));
...
我不知道我在这里做什么,但背景没有出现。整个黑色。如果我将背景放在rowlayout.xml中的文本视图上,那么它会出现,但它像整个屏幕一样带有ListView的一个条目。尝试了很多教程。也许做一些新手的错误..请帮帮我
答案 0 :(得分:2)
使用android:background =“@ drawable / icon”作为列表视图,如
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:background="@drawable/icon">
</ListView>
答案 1 :(得分:0)
使用android:background =&#34;#00000000&#34;在列表视图项目上,然后将父表单背景设置为您的图像
答案 2 :(得分:0)
正如我正确理解您的代码概念,您希望在View
上实现两个LinearLayout
,其中一个(在您的情况下为TextView
)覆盖布局及其背景和另一个一个是透明的。因此,除了为您的布局设置背景并使用ListView
使android:background="#00000000"
透明化之外别无他法,您还应该设置android:cacheColorHint="#00000000"
以避免填充ListView
背景滚动时黑色
答案 3 :(得分:0)
我相信您正在体验的内容在此处描述:http://android-developers.blogspot.com/2009/01/why-is-my-list-black-android.html
由于名为“缓存颜色提示”的优化,列表的背景默认设置为窗口的背景颜色,在Android的黑暗主题中为#191919。
如果你在每一行设置背景,我想你会明白我的意思。尝试设置以下背景形状:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<stroke
android:color="@color/mid_gray"
android:width="1dp"
/>
<padding
android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="3dp"
/>
<corners android:radius="10dp" />
<solid android:color="@android:color/white" />
</shape>
像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/shape_data_background">
<TextView android:id="@+id/ProductName"
android:textSize="25sp"
android:textColor="#FFFF00"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>