0

如果我有一个具有自定义布局(group.xml 和 child.xml)的可扩展列表视图,那么有任何方法可以为所有行设置 9.png 背景(组 + 子项?如果是展开,则只有在折叠时才行)。

例如我有4组

1row collapsed with background
2row collapsed with backgound
3row expand
  group   <---- I want to use 1 background for group.xml and child.xml, this is it, the group background expands to be background for child too
  child
5row collapsed with backgruond

或者,当我使用 expandablelistview 并定义一个 row.xml 背景时,当我展开一个 groupo 时,背景也会对孩子产生影响?

4

1 回答 1

2

恐怕这是不可能的。由于您在 ExpandableList 中引用两个不同的资源文件,因此您不能将它们分组为单个视图。在这种情况下,您可以将 9 补丁设置为您可能不需要的总可扩展列表视图。所以这里是关于方法的回合。

1)您可以拥有三组图像。一旦完全关闭图像。第二张图片看起来像第一张图片的上半部分,第三张图片看起来像第一张图片的下半部分。

2) 将 GroupExapnded() 上的侦听器添加到您的 ExpandableListView。现在这将返回视图的位置、视图状态的布尔标志(无论是展开还是折叠)以及该视图的对象。

3)现在基于布尔标志,您必须使用图像作为背景。

会有两种情况,

1)对于展开状态,您必须将第二张图像应用于组,将第三张图像应用于孩子。

2)如果组被折叠,您必须将第一张图像作为背景应用到组视图。

这是我自己知道的最丑陋的方式。如果你能得到任何更好的解决方案,请告诉我。

于 2012-06-20T12:05:57.507 回答