4

如何更改二级列表的样式ExpandableListView?例如,添加背景颜色或页眉\页脚视图。

请注意,我不需要为每个孩子设置背景。我需要为整个第二级设置样式。

这是我想要实现的示例(棕色布局 - 是二级列表):

在此处输入图像描述

正如我所说,我不需要为每个项目单独应用样式。因为我在背景上有一个可重复的图像(不仅仅是颜色)。我知道如何应用样式以及如何将其设置到每个子视图,但这不是我可以用来实现此类背景的方法。

编辑

我想要达到的目标:

  1. 在“At the cafe”顶部添加阴影。可以很容易地完成,但是在这种情况下ListView如何获得呢?ListViewListView吗?

  2. 将可重复图像设置为二级列表的背景(不是单独为每个子视图)。

4

1 回答 1

1

可以实现这一点的一种方法是使用以下方法。

在您的目录中创建一个。style xmlres/values/

现在定义style你想要的任何东西。当以这种方式使用时,它将改变应用到这个特定Views的所有位置。stylestyle

这是我测试过的示例:

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

    <style name="backgroundTest" parent="@android:style/TextAppearance.Medium">

        <item name="android:background">#00FF00</item>

    </style>

</resources>

现在将 .xml 添加style到定义子级的 xml 中的顶级布局ExpandableListView。例如,这是我的孩子(注意stylemy 中的LinearLayout):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/backgroundTest"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/rightSideTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="25dp"
        android:paddingLeft="50dp"
        android:paddingTop="25dp" />

</LinearLayout>

我相信这应该把你所有孩子的颜色都变成绿色。您可以将其更改style为您想要的任何内容。我链接了一些很棒的文档,可以帮助您。

于 2012-07-27T14:42:11.993 回答