android – 在ViewFlipper的视图之间滑动动画

前端之家收集整理的这篇文章主要介绍了android – 在ViewFlipper的视图之间滑动动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在活动中,我有以下内容
var flipper = FindViewById<ViewFlipper>(Resource.Id.flipper);
flipper.Touch += flipper_Touch;

触摸处理程序的基本实现如下所示:

float oldTouchValue = 0;

void flipper_Touch(object sender,View.TouchEventArgs e)
{
    var flipper = sender as ViewFlipper;
    switch(e.Event.Action)
    {
        case MotionEventActions.Down:
            oldTouchValue = e.Event.GetX();
            break;

        case MotionEventActions.Up:
            float currentX = e.Event.GetX();
            if (oldTouchValue < currentX)
            {
                flipper.ShowNext();
            }
            else if (oldTouchValue > currentX)
            {
                flipper.ShowPrevIoUs();
            }
            break;      
    }
}

这允许我在不同的视图之间导航,但我想让它向左/向右滑动

我已经看到了一些关于如何使它工作的Java示例,但没有直接将它转换为c#的方法.

使视图滑动需要什么,有没有办法用XML定义动画?我能够使用XML中定义的动画和调用OverridePendingTransition使活动滑入和滑出,但我不知道如何应用知识在这里.

解决方法

This allows me to navigate between the different views but I’d like to
make it slide left/right

ViewFlipper通过其ViewAnimator类有一些方法来设置进出动作的动画,setInAnimation()和setOutAnimation().这是在Android SDK中,但应该在MonoDroid中有对应(不幸的是我不熟悉,所以我可能是错的).为了获得所需的动画,只需使用上面的两种方法来设置所需的动画(xml文件或以编程方式构建的动画),然后像你当前那样调用showNext / PrevIoUs方法.

你甚至在Android SDK中有一些幻灯片动画,但我不知道它们是否存在于MonoDroid中.

更新:这些方法确实在Monodroid中可用,并且暴露如下:

//Using one of the built in animations:
flipper.SetInAnimation(this,Android.Resource.Animation.SlideInLeft);
flipper.SetOutAnimation(this,Android.Resource.Animation.SlideOutRight);

//Using custom animations defined in XML
flipper.SetInAnimation(this,Resource.Animation.slide_in_right);
flipper.SetOutAnimation(this,Resource.Animation.slide_out_left);

猜你在找的Android相关文章