Android 单击按钮时,是否有方法使listview显示幻灯片动画?
我正在开发一个m3u直播应用程序,我想在列表视图中显示所有频道。现在我不知道如何使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) {
//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主题的链接,可以提供更好的解决方案。