我需要像下面附上的图片那样设计页面。我需要像手风琴一样扩展两个视图。我瞪大了眼睛,但我只能看到可扩展的列表视图。任何人都可以建议我如何在一个可扩展窗口中自定义两个视图。
问问题
656 次
2 回答
0
如果您只需要扩展 2 个视图,那么也许您可以使用一个简单的技巧来实现这一点,而无需ExpandableListView
. 只需在一个orientation中定义每个类别和子类别的布局,子类别LinearLayout
的vertically
可见性默认为gone
。
<LinearLayout
android:id="@+id/category1"
//....>
</LinearLayout>
<LinearLayout
android:id="@+id/subcategory1"
android:visibility="gone"
//....>
</LinearLayout>
<LinearLayout
android:id="@+id/category2"
//....>
</LinearLayout>
<LinearLayout
android:id="@+id/subcategory2"
android:visibility="gone"
//....>
</LinearLayout>
为每个类别设置一个点击监听器,当一个类别被点击时改变它的可见性:到visible
if it'sgone
和 to gone
if it's visible
。
伪鳕鱼将如下所示:
ViewGroup category1 = findViewById(category1);
ViewGroup subcategory1 = findViewById(subcategory1);
category1.setOnClickListener(new OnClickListener(){
public void onClick(){
toogle();
}
});
//......
void toogle(){
if(subcategory1 is visible){
subcategory1.visibility = "gone"
}else{
subcategory1.visibility = "visible"
}
}
如果将来需求发生变化并且您必须添加更多类别,那么也许ExpandableListView
会更有意义,但现在您可以通过这个简单的技巧达到预期的效果。
于 2013-06-20T19:19:47.010 回答
0
让我们使用 SlideExpandableListView 库,在这里您可以找到所有详细信息:here
于 2013-06-20T19:34:55.677 回答