Android ExpandableGridView

之前有個(gè)項(xiàng)目有類似這樣的界面

ui.png

于是呢,就~
I have a ExpandableListView
I have a GridView
en~a!
ExpandableGridView

expandable_gridview.gif

忘記把鼠標(biāo)錄進(jìn)來,點(diǎn)擊事件和傻逼一樣。。。
下面是分割線


上面是分割線
https://github.com/Linyuzai/Demo4ExpandableGridView

<dependency> 
    <groupId>com.linyuzai</groupId>   
    <artifactId>expandablegridview</artifactId> 
    <version>1.2.0</version> 
    <type>pom</type>
</dependency>
------------------------------------------------
compile 'com.linyuzai:expandablegridview:1.2.0'

下面又是分割線


上面,對(duì),我真的很無聊
然后是布局

<com.linyuzai.expandablegridview.ExpandableGridView 
    xmlns:grid="http://schemas.android.com/apk/res-auto"    
    android:id="@+id/egv"    
    android:layout_width="match_parent"    
    android:layout_height="wrap_content"    
    grid:group_clickable="true"    
    grid:horizontal_spacing="10dp"    
    grid:overwrite_measure="true"    
    grid:vertical_spacing="10dp" />

horizontal_spacing和vertical_spacing是GridView的屬性,然后overwrite_measure,比如在外面套了一個(gè)ScrollView就不用自己重寫了。如果group_clickable設(shè)為了false,發(fā)現(xiàn)ChildView不顯示,點(diǎn)擊也沒用,調(diào)用一下ExpandableGridView.expandAll();接下來是Adapter~

public ExpandableGridAdapter getExpandableGridAdapter();

public void setExpandableGridAdapter(ExpandableGridAdapter adapter);

class MyAdapter1 extends ExpandableGridAdapter {    
    @Override    
    public int getGridGroupCount() {        
        return 0;    
    }    

    @Override    
    public int getGridChildCount(int gridGroupPosition) {        
        return 0;    
    }    
    
    @Override    
    public View getGridGroupView(int gridGroupPosition, boolean isExpanded, View convertView, ViewGroup parent) {        
        return null;    
    }    

    @Override    
    public View getGridChildView(int gridGroupPosition, int gridChildPosition, View convertView, ViewGroup parent) {        
        return null;    
    }    

    @Override    
    public int getNumColumns(int gridGroupPosition) {        
        return 0;    
    }
}

class MyAdapter2 extends SimpleExpandableGridAdapter<String> {    
    public MyAdapter(List<List<String>> dataList) {        
        super(dataList);    
    }
    
    @Override    
    public View getGridGroupView(int gridGroupPosition, boolean isExpanded, View convertView, ViewGroup parent) {       
        return convertView;    
    }    

    @Override    
    public View getGridChildView(int gridGroupPosition, int gridChildPosition, View convertView, ViewGroup parent) {        
        return convertView;    
    }    

    @Override    
    public int getNumColumns(int gridGroupPosition) {        
        return 0;    
    }
}

最后還有一個(gè)

public void setOnGridItemClickListener(OnGridItemClickListener listener);

哦,ViewHolder還是得自己寫。然后應(yīng)該沒有漏下什么了,恩(思考臉)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評(píng)論 19 139
  • 工作到現(xiàn)在快要1年半了,一直沒有時(shí)間自己從頭搭建個(gè)框架,這個(gè)周末實(shí)在是無聊,真的不想打lol了,(黑色玫瑰開黑的喊...
    MacSam閱讀 7,104評(píng)論 7 20
  • 時(shí)間:2017年5月13日 地點(diǎn):辦公室 書名:《贏在執(zhí)行力》 第二章第四節(jié) 昨天是5·12國(guó)際護(hù)士節(jié)(祝所有護(hù)士...
    小妖七七要上岸閱讀 145評(píng)論 0 0
  • 《葉嘉瑩說漢魏朝詩(shī)》今日筆記 正始詩(shī)歌的代表人物是竹林七賢,竹林七賢中詩(shī)寫得最好的是阮籍。今天我們來認(rèn)識(shí)一下阮籍。...
    劉小麥同學(xué)閱讀 461評(píng)論 0 0
  • 我以前的崗位是SEO專員,其實(shí)是和銷售員一樣,都是為了與意向客戶打交道,不同的是銷售員是主動(dòng)找客戶,而SEO技術(shù)是...
    金雷演講稿閱讀 259評(píng)論 0 1