2013-06-20 40 views
0

我需要設計頁面,如下圖所示。我需要擴大手風琴這樣的兩個觀點。我瞪着眼睛,但我只能看到可擴展列表視圖。任何人都可以建議我如何在一個可展開窗口中自定義兩個視圖。Android中的自定義可擴展列表

+0

看看這個[答案] [1]。我希望它可以幫助你 [1]:http://stackoverflow.com/questions/12729830/expand-listview-item-with-animation –

回答

0

如果您只需擴展2個視圖,那麼也許您可以使用一個簡單的技巧來實現這一點,而不需要ExpandableListView。 只需定義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如果是gone,並gone如果是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會更有意義,但現在你可以用這個簡單的技巧達到預期的效果。

0

允許使用SlideExpandableListView庫,在這裏你可以找到所有的細節:here