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轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...