expandablelistview的背景

时间:2012-06-20 11:20:37

标签: android expandablelistview

如果我有一个带有自定义布局的expandablelistview(group.xml和child.xml),那么可以为所有行设置9.png背景(group + child?如果是expand,则只有在折叠时为row)

例如我有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时,背景也会对孩子产生影响吗?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

将有两种情况,

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

2)如果组已折叠,则必须将第一个图像作为背景应用于组视图。

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