我正在尝试在下图中创建类似(在绘画中创建非常糟糕)的内容:
我只有4件物品,而且不会更多。这些项目包含两个textview。但是当你点击一个项目时,我想让它展开(如第2项)到底部有三个额外的按钮。如果会有一些很好的扩展动画,那将是非常好的。我不希望这个列表是滚动,它只需要适合我的屏幕。只有一个可以扩展。
我认为有两种选择,但也许我错过了一些东西。 1)创建一个包含linearlayout或包含额外按钮的itemlayout.xml,设置为linearlayoutbuttoncontainer.setvisibility(View.GONE)。然后构建一个开关,关闭其他开关而不是单击的开关,并将单击项目的可见性设置为可见。这可能相当容易构建我猜,我没有预见到很多问题。但是有可能创建一个动画,还是只有突然的屏幕变化?
2)可扩展列表视图,可扩展项目中的按钮。我知道可以只扩展一个项目,通过重新扩展一个项目并再次关闭它。但是可以通过可扩展部分中的按钮来实现这一点吗?实际上我从来没有使用过可扩展的视图。
任何人都知道最佳解决方案应该是什么? 感谢
答案 0 :(得分:1)
我建议使用可扩展列表视图,如第二个选项所述。对于这种类型的列表,您可以使用可扩展的listview适配器,在此处描述:
http://developer.android.com/reference/android/widget/ExpandableListAdapter.html
此适配器同时具有getGroupView(打开/关闭项)和getChildView方法,您可以在其中为布局充气,或手动设置它们。如果您使用普通的列表视图,我确定这对您来说不是问题,因为它基本上是相同的操作。
这意味着您应该使用包含三个按钮的LinearLayout来扩充您的childViews。然后,您必须通过跟踪打开的项目索引来实现折叠/扩展逻辑的功能。
当我第一次开始使用exp.list视图时,我做了这个教程,我发现它很有帮助:
http://android-adda.blogspot.se/2011/06/custom-expandable-listview.html
祝你好运!答案 1 :(得分:1)
你必须检查这个http://udinic.wordpress.com/2011/09/03/expanding-listview-items/它整洁有效。如果你有任何问题,请问......