0

我需要像下面附上的图片那样设计页面。我需要像手风琴一样扩展两个视图。我瞪大了眼睛,但我只能看到可扩展的列表视图。任何人都可以建议我如何在一个可扩展窗口中自定义两个视图。

4

2 回答 2

0

如果您只需要扩展 2 个视图,那么也许您可以使用一个简单的技巧来实现这一点,而无需ExpandableListView. 只需在一个orientation中定义每个类别和子类别的布局,子类别LinearLayoutvertically可见性默认为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>

为每个类别设置一个点击监听器,当一个类别被点击时改变它的可见性:到visibleif it'sgone和 to goneif 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 回答