Как обстоят дела с ExpandableListViews? - PullRequest
0 голосов
/ 25 апреля 2019

Итак, я хочу создать расширяемый вид списка, и каждое место, куда я смотрю, похоже, что они сами программируют свои функции для расширяемого списка.

Вы действительно должны это делать или есть базовая функциональность, которая не требует программирования?

1 Ответ

0 голосов
/ 25 апреля 2019

Итак, я использовал эту библиотеку для достижения поведения раскрытия и свертывания, и она работает как шарм.

<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) {

    }
});

...