0

カスタムレイアウト(group.xmlおよびchild.xml)のexpandablelistviewがある場合、すべての行に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 で 2 つの異なるリソース ファイルを参照しているため、それらを 1 つのビューとしてグループ化することはできません。この場合、必要に応じて不要な拡張可能なリストビュー全体に 9 パッチを設定できます。ということでラウンドアバウトの方法になります。

1)3セットの画像を持つことができます。一応全閉画像。2 番目の画像は最初の画像の上半分のように見え、3 番目の画像は最初の画像の下半分のように見えます。

2)GroupExpanded() のリスナーを ExpandableListView に追加します。これで、ビューの位置、ビュー ステートのブール値フラグ (展開されているか折りたたまれているか)、およびそのビューのオブジェクトが返されます。

3)ブール値フラグに基づいて、背景として使用する画像をいじる必要があります。

2つのシナリオがあります、

1)展開状態の場合、2 番目の画像をグループに適用し、3 番目の画像を子に適用する必要があります。

2)グループが折りたたまれている場合は、最初の画像を背景としてグループ ビューに適用する必要があります。

これは、私が自分で知っている最も醜い方法です。より良い解決策が得られる場合は、親切にお知らせください。

于 2012-06-20T12:05:57.507 に答える