java - 与 ExpandableListViews 有什么关系?
问题描述
所以我想创建一个可扩展列表视图,我看到的每个地方,似乎他们都在为可扩展列表视图本身编写自己的功能。
您真的必须这样做还是有不需要任何编程的基本功能?
解决方案
所以我使用这个库来实现扩展和折叠行为,它就像一个魅力。
<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) {
}
});
推荐阅读
- angular - 如何将开源 Angular 组件的本地克隆版本包含到 Angular 项目中?
- html - HTML 和 CSS 表格/网格设计
- html - 如何在 CSS 蒙版内有阴影?
- javascript - 将 TensorFlowJS MobileNet + KNN 保存到 TFLite
- flutter - Flutter:如何为两个小部件设置一个水龙头处理程序?
- xml - 如何使用 XMLStarlet / Xpath 选择里面的文本但排除一些内在
- java - 字符串开头的Java不可见空格
- ruby-on-rails - 如何在Ruby中迭代没有已知深度的深层嵌套哈希
- python - 如何在图像opencv中删除通道
- css - 无法在css导航栏中将字体颜色更改为白色