android - ListView 动画淡出然后添加新行

标签 android listview animation

大家好,我正在尝试在我的 Android 待办事项列表应用程序中制作淡出动画。我有这个代码

public void removeToDo(){
myItems.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> parent,  View view, final int position, long id) {



        ObjectAnimator anim = ObjectAnimator.ofFloat(view, View.ALPHA, 0);

        anim.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                items.remove(position);
                itemsAdapter.notifyDataSetChanged();
            }
        });

        anim.start();

        return true;
    }
});

}

是的,它的淡出很漂亮,但问题是当我添加一个新项目时,它会重复使用已经淡出该项目的行,所以结果是我在添加新项目时会有一个新行,但上面没有文本。

http://i.stack.imgur.com/o6wPz.jpg

请帮助我只是一个新手:)

最佳答案

试试这个解决方案。 ObjectAnimator 不可靠,请使用 Animation 代替它。

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, final View view, final int position, long id) {
                final Adapter adapter = (Adapter) parent.getAdapter();

                Animation fadeOut = new AlphaAnimation(1, 0);
                fadeOut.setInterpolator(new AccelerateInterpolator());
                fadeOut.setDuration(500);
                fadeOut.setAnimationListener(new Animation.AnimationListener() {
                    @Override
                    public void onAnimationStart(Animation animation) {

                    }

                    @Override
                    public void onAnimationEnd(Animation animation) {
                        adapter.pointItems.remove(position);
                        adapter.notifyDataSetChanged();
                    }

                    @Override
                    public void onAnimationRepeat(Animation animation) {

                    }
                });

                view.startAnimation(fadeOut);

                return true;
            }
        });

关于android - ListView 动画淡出然后添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448982/

相关文章:

android - Android中关联数据和ListView

android - 检测 CheckBox 是否被选中并调用 Visibility - Android

android - 如何使用 MPAndroidChart 获取当前可见的 x 轴和 y 轴范围?

android - 直接连接2个或更多安卓客户端

android - 在 Surfaceview 的 Canvas 上显示位图

java - 移动 arraylist 对象的动画

listview - 在JavaFX中更新ListView时出现IndexOutOfBoundsException

android - 在我的代码中没有获取图像的资源 ID

iOS Strech 动画 - 我应该从哪里开始寻找?

html - 使用 CSS3 为盒子制作动画