ExpandableLayout

介绍:

一个支持子view的展开与折叠的布局。

运行效果:

使用说明:

在根build.gradle中添加:

allprojects {
    repositories {
        \[...\]
        maven { url "https://jitpack.io" }
    }
}

在 module的 build.gradle中添加依赖:

dependencies {
    \[...\]
    compile 'com.github.cachapa:expandablelayout:x.y'
}

把ExpandableLinearLayout作为你想扩展的布局的根,可扩展的相关子view用layout_expandable标记:

<net.cachapa.expandablelayout.ExpandableLinearLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:el_duration="1000"
    app:el_expanded="true">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Click here to toggle expansion" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="Fixed height"
        app:layout_expandable="true" />
</net.cachapa.expandablelayout.ExpandableLinearLayout>

还支持el_duration和el_expanded属性。分别指定动画的时间和布局是否应该开始展开。

触发动画直接调用ExpandableLinearLayout的expand(), collapse() 或者 toggle()。

高度固定的view:

expandable_fixed.gif

填充满的view (通常使用 weight > 0):

expandable_fill.gif

多个view同时一起:

expandable_parallel.gif

手风琴折叠效果(使用两个expandable layout)

expandable_accordion.gif

RecyclerView item

expandable_recycler.gif

已下载
0