如何设置listview中所有行的背景?

时间:2014-05-27 10:57:20

标签: android listview background android-linearlayout adapter

在我的应用程序中,我必须创建一个列表视图,每个项目/行应该具有相同的背景。 我已将此http://www.javacodegeeks.com/2013/06/android-listview-background-row-style-rounded-corner-alternate-color.html和此http://androidexample.com/Create_A_Simple_Listview_-_Android_Example/index.php?view=article_discription&aid=65&aaid=90提及 教程。 在这里,他们创建了一个具有不同图像的数组,并将它们设置为行背景。 但我必须只设置一个图像作为行或listitem背景.. 有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:1)

转到" row"或者"列表项"布局文件夹中的xml文件和父视图的设置属性 android:background =" @ drawable / yourBackgroudImage"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/yourBackgroudImage"
    android:orientation="horizontal" >

答案 1 :(得分:0)

更改

中的布局背景颜色
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.row_layout, null);
v.setBackgroundResource(R.drawable.rounded_corner); // change your layout background in your adapter.

答案 2 :(得分:0)

您需要先在 drawable 文件夹中创建以下文件,如下所示:

list_selecter.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>

如果您想要更改背景颜色,则还需要添加这两个文件。请注意startColorcenterColorendColor节点中的十六进制值。可以将十六进制值更改为您认为适合您的应用程序的任何值:

gradient_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">

<gradient
    android:startColor="#f1f1f2"
    android:centerColor="#e7e7e8"
    android:endColor="#cfcfcf"
    android:angle="270" />
</shape>

gradient_bg_hover.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
<!-- Gradient BgColor for listrow Selected -->
<gradient
  android:startColor="#A6A6A6"
  android:centerColor="#757575"
  android:endColor="#4A4A4A"
  android:angle="270" />
</shape>

然后在布局文件夹中的实际xml文件中,您需要将以下行添加到LinearLayout:

    android:background="@drawable/list_selector"