3

我正在尝试在下图中创建类似(在油漆中创建非常糟糕)的东西: 我想要的是

我只有4个项目,不会更多。这些项目包含两个文本视图。但是,当您单击一个项目时,我希望它通过三个额外的按钮将其扩展(如项目 2)到底部。如果有一些不错的展开动画,那就太好了。我不希望这个列表滚动,它只需要适合我的屏幕。而且只有一个可以扩展。

我认为有两种选择,但也许我错过了一些东西。1)创建一个itemlayout.xml,包含一个线性布局或包含额外按钮的东西,设置为linearlayoutbuttoncontainer.setvisibility(View.GONE)。然后建立一个开关,关闭除点击的其他开关,并将点击的项目的可见性设置为可见。我想这将相当容易构建,我预计不会有很多问题。但是是否可以创建动画或者只是突然的屏幕变化?

2)可扩展列表视图,带有可扩展项目中的按钮。我知道它可以只扩展一个项目,方法是重新定义扩展的项目并再次关闭它。但是有没有可能用可扩展部分的按钮来做到这一点?实际上,我从未使用过可扩展视图。

任何人都知道最好的解决方案应该是什么?谢谢

4

2 回答 2

1

正如您的第二个选项所述,我建议为此使用可扩展的列表视图。对于这种类型的列表,您可以使用可扩展的列表视图适配器,如下所述:

http://developer.android.com/reference/android/widget/ExpandableListAdapter.html

这个适配器有一个 getGroupView(open/close items) 和一个 getChildView 方法,你可以在其中扩展你的布局,或者手动设置它们。如果您使用过普通的列表视图,我相信这对您来说不是问题,因为它基本上是相同的操作。

这意味着您可能应该使用包含三个按钮的 LinearLayout 来扩展您的 childView。然后,您必须通过跟踪打开的项目索引来实现折叠/展开逻辑的功能。

当我第一次开始使用 exp.list 视图时,我做了这个教程,我发现它很有帮助:

http://android-adda.blogspot.se/2011/06/custom-expandable-listview.html

祝你好运!

于 2012-07-26T14:57:55.103 回答
1

你必须检查这个http://udinic.wordpress.com/2011/09/03/expanding-listview-items/它工作得很好。如果还有什么问题,请追问...

于 2012-07-26T18:34:03.663 回答