首页 > 解决方案 > 与 ExpandableListViews 有什么关系?

问题描述

所以我想创建一个可扩展列表视图,我看到的每个地方,似乎他们都在为可扩展列表视图本身编写自己的功能。

您真的必须这样做还是有不需要任何编程的基本功能?

标签: javaandroidexpandablelistviewexpandablelistadapter

解决方案


所以我使用这个来实现扩展和折叠行为,它就像一个魅力。

<com.github.florent37.expansionpanel.ExpansionHeader
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    app:expansion_headerIndicator="@id/headerIndicator"
    app:expansion_layout="@id/expansionLayout"
    app:expansion_toggleOnClick="true">

    <!-- HEADER -->

    ...
    <!-- HEADER INDICATOR -->
    <ImageView
           android:adjustViewBounds="true"
           android:id="@+id/headerIndicator"
           android:layout_gravity="center_vertical|right"
           android:layout_height="wrap_content"
           android:layout_marginLeft="16dp"
           android:layout_width="wrap_content"
           app:srcCompat="@drawable/ic_expansion_header_indicator_grey_24dp" />


</com.github.florent37.expansionpanel.ExpansionHeader>

<com.github.florent37.expansionpanel.ExpansionLayout
    android:id="@+id/expansionLayout"
    android:layout_height="wrap_content"
    android:layout_width="match_parent">

    <!-- CONTENT -->

</com.github.florent37.expansionpanel.ExpansionLayout>

Activity像这样附加一个监听器

ExpansionLayout expansionLayout = findViewById(...);
expansionLayout.addListener(new ExpansionLayout.Listener() {
    @Override
    public void onExpansionChanged(ExpansionLayout expansionLayout, boolean expanded) {

    }
});


推荐阅读