gpt4 book ai didi

android - 折叠/展开时为可展开 ListView 的子项设置动画

转载 作者:IT老高 更新时间:2023-10-28 23:35:08 24 4
gpt4 key购买 nike

我正在尝试在可展开 ListView 中为我的 subview 设置动画。我希望 subview 在展开组时从上到下滑动,在折叠组时从下到上滑动。我查看了几种方法(动画 View 组或 subview ),但似乎没有一个效果很好,或者我做得不对。

我从 BaseExpandableListAdapter 扩展了一个类来创建我自己的自定义适配器。我还为我在 getChildView 和 getGroupView 方法中扩展的组/子项提供了自定义 (xml) View 。

我只希望当前折叠/展开的组为其子组设置动画。谁能指出我正确的方向?如果您需要更多信息或代码,请告诉我!

问候,伊沃

最佳答案

所以我所做的是使用常规 ListView ,然后在单击时为行 View 设置动画。

我用这个方法制作动画:Android animate drop down/up view proper

如果要下拉的 View 的高度是 wrap_content,这可能会有点棘手,对于这个问题,我必须在开始动画之前找到并设置高度:

public static void setHeightForWrapContent(Activity activity, View view) {
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

int screenWidth = metrics.widthPixels;

int heightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
int widthMeasureSpec = MeasureSpec.makeMeasureSpec(screenWidth, MeasureSpec.EXACTLY);

view.measure(widthMeasureSpec, heightMeasureSpec);
int height = view.getMeasuredHeight();
view.getLayoutParams().height = height;
}

View 应该在动画开始之前消失,然后在动画开始时可见。

编辑:我做了一个完整的例子here .

关于android - 折叠/展开时为可展开 ListView 的子项设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com