gpt4 book ai didi

android - 回收站 View 项目输入动画不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:21 26 4
gpt4 key购买 nike

我遵循了动画 recyclerview 项目的教程,但动画不工作我很困惑是否应用了动画。

Activity .Java:更新的代码在这里我尝试单击按钮但我不知道如何从适配器的 onBindHolder 调用动画方法

private void setupRecyclerView() {
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
final LayoutAnimationController controller =
AnimationUtils.loadLayoutAnimation(this, R.anim.layout_animation);

recyclerView.setLayoutAnimation(controller);
recyclerView.setAdapter(specialistListAdapter);
}


//placed a dummy button onclick to check animation working or not
public void reloadData(View view) {
runLayoutAnimation(recyclerView);
}

private void runLayoutAnimation(final RecyclerView recyclerView) {
final Context context = recyclerView.getContext();

final LayoutAnimationController controller =
AnimationUtils.loadLayoutAnimation(context, R.anim.layout_animation);

recyclerView.setLayoutAnimation(controller);
recyclerView.getAdapter().notifyDataSetChanged();
recyclerView.scheduleLayoutAnimation();
}

layout_animation.xml:

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation
xmlns:android="http://schemas.android.com/apk/res/android"
android:animation="@anim/item_list_animation"
android:delay="15%"
android:animationOrder="normal"
/>

item_list_animation.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate
android:fromYDelta="-20%"
android:toYDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
/>

<alpha
android:fromAlpha="0"
android:toAlpha="1"
android:interpolator="@android:anim/decelerate_interpolator"
/>

<scale
android:fromXScale="105%"
android:fromYScale="105%"
android:toXScale="100%"
android:toYScale="100%"
android:pivotX="50%"
android:pivotY="50%"
android:interpolator="@android:anim/decelerate_interpolator"
/>
</set>

提前致谢

最佳答案

我迟迟没有回答这个问题,但我在遵循相同的教程时遇到了同样的问题,在尝试了一系列不同的东西之后,我意识到我没有添加属性:android:durationitem_list_animation.xml 文件中的 set tag 中,与您的情况相同。所以 item_list_animation.xml XML 现在变成了:

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime">

<translate
android:fromYDelta="-20%"
android:toYDelta="0%"
android:interpolator="@android:anim/decelerate_interpolator" />

<alpha android:fromAlpha="0"
android:toAlpha="1"
android:interpolator="@android:anim/decelerate_interpolator" />

<scale
android:fromXScale="105%"
android:fromYScale="105%"
android:toXScale="100%"
android:toYScale="100%"
android:pivotX="50%"
android:pivotY="50%"
android:interpolator="@android:anim/decelerate_interpolator"
/>

</set>

注意:在更改数据集时,您需要在 RecyclerView 上重新应用动画,因为随时调用 notifyDataSetChanged() 都会取消动画。您可以通过简单地调用重新应用动画:

adapter.notifyDataSetChanged();
recyclerView.scheduleLayoutAnimation();

关于android - 回收站 View 项目输入动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46681597/

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