Android 单击按钮时,是否有方法使listview显示幻灯片动画?

Android 单击按钮时,是否有方法使listview显示幻灯片动画?,android,listview,button,slide,Android,Listview,Button,Slide,我正在开发一个m3u直播应用程序,我想在列表视图中显示所有频道。现在我不知道如何使listview在单击按钮时从右侧显示,如图片中所示,并在再次单击按钮时使其消失(滑出动画) 有人能帮我吗 编辑:我试过这个,但不幸的是没有成功 //slide in imgbutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {

我正在开发一个m3u直播应用程序,我想在列表视图中显示所有频道。现在我不知道如何使listview在单击按钮时从右侧显示,如图片中所示,并在再次单击按钮时使其消失(滑出动画)

有人能帮我吗

编辑:我试过这个,但不幸的是没有成功

//slide in imgbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                imgbuttonisclicked = true;
                ValueAnimator widthAnimator = ValueAnimator.ofInt(0, 255);
                widthAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                    @Override
                    public void onAnimationUpdate(ValueAnimator animation) {
                        int animatedValue = (int) animation.getAnimatedValue();
                        list.getLayoutParams().width = animatedValue;
                        list.requestLayout();
                    }
                });

   //slide out      if (imgbuttonisclicked){
                    widthAnimator = ValueAnimator.ofInt(255, 0);
                    widthAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                        @Override
                        public void onAnimationUpdate(ValueAnimator animation) {
                            int animatedValue = (int) animation.getAnimatedValue();
                            list.getLayoutParams().width = animatedValue;
                            list.requestLayout();
                        }
                    });
                }
            }
        });

您也许可以使用列表的宽度属性。首先将其设置为0,然后在按钮单击事件上将其设置为更大的宽度。在本教程中,您可以了解有关属性动画的更多信息


编辑:这提供了一个更好的解决方案。

您也许可以使用列表的宽度属性。首先将其设置为0,然后在按钮单击事件上将其设置为更大的宽度。在本教程中,您可以了解有关属性动画的更多信息


编辑:这提供了更好的解决方案。

谢谢。我尝试了本文中的代码,并尝试了这个方法(请参阅我的编辑代码),但没有成功:(您的代码缺少对widthAnimator.start()的调用。您还可以使用setDuration()添加持续时间)。我在帖子中添加了指向另一个stackoverflow主题的链接,该主题可以提供更好的解决方案。谢谢。我尝试了文章中的代码并尝试了此操作(请参阅我的编辑代码),但没有成功:(您的代码缺少对widthAnimator.start()的调用。您还可以使用setDuration()添加duration).我在帖子中添加了一个指向另一个stackoverflow主题的链接,可以提供更好的解决方案。