用于页面之间导航的自定义动画 Xamarin.forms?

2024-06-25

我使用 Xamarin.Forms 创建简单的应用程序,需要将导航设置为上下左右状态


如果你想要上下动画(不是自定义动画),你可以简单地使用Navigation.PushModalAsync(page)来呈现页面。


此外,我刚刚编写了一个自定义渲染器来更改 iOS 上的动画。

[assembly: ExportRenderer(typeof(NavigationPage), typeof(AnimationNavigationRenderer))]

class AnimationNavigationRenderer : NavigationRenderer
{
    public override void PushViewController(UIViewController viewController, bool animated)
    {
        if (animated)
        {
            // Alternative way with different set of trannsition
            /*
            UIView.Animate(0.75, () =>
            {
                UIView.SetAnimationCurve(UIViewAnimationCurve.EaseInOut);
                base.PushViewController(viewController, false);
                UIView.SetAnimationTransition(UIViewAnimationTransition.CurlUp, this.View, false);
            });
             */
            var transition = CATransition.CreateAnimation();
            transition.Duration = 0.75;
            transition.Type = CAAnimation.TransitionPush;

            View.Layer.AddAnimation(transition, null);
            base.PushViewController(viewController, false);
        }
        else
        {
            base.PushViewController(viewController, false);
        }
    }

    public override UIViewController PopViewController(bool animated)
    {
        if (animated)
        {
            // Alternative way with different set of trannsition
            /*                UIView.Animate(0.75, () =>
            {
                UIView.SetAnimationCurve(UIViewAnimationCurve.EaseInOut);
                UIView.SetAnimationTransition(UIViewAnimationTransition.CurlDown, this.View, false);
            });
            */

            var transition = CATransition.CreateAnimation();
            transition.Duration = 0.75;
            transition.Type = CAAnimation.TransitionFromTop;

            View.Layer.AddAnimation(transition, null);

            return base.PopViewController(false);
        }
        else
        {
            return base.PopViewController(false);
        }
    }
}

https://gist.github.com/alexlau811/e12a8c126e6e082a5017 https://gist.github.com/alexlau811/e12a8c126e6e082a5017

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于页面之间导航的自定义动画 Xamarin.forms? 的相关文章

  • System.Net.Http.HttpClient 不尊重超时并每次使用默认值

    我正在使用 HttpClient 与具有大量 api 的 Web 服务 由我的公司编写 进行交互 所有 api 都工作得很好 除非其中一个 较大且较慢的 需要超过 100 秒才能给出答案 过了那个时间我收到以下错误 注意 如果 api 花费
  • Xamarin Apple 帐户错误:加载证书时出错:对象引用未设置到对象的实例

    我正在尝试解决我有这个问题 https stackoverflow com questions 69286865 a valid provisioning profile for this executable was not found
  • Xamarin.Forms 绘图[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为客户构建一个 Xamarin Forms 项目 我们需要一个图形库它将处理实时流式传输的数据连
  • jqueryui tabs:当内容垂直滚动时是否可以保持导航选项卡可见?

    我的 jqueryui 选项卡集由几页相当长的内容组成 用户必须垂直滚动才能浏览每个文档 这是一个简化版本 MAIN TEXT END NOTES blah blah blah lots more text the end 如果用户正在阅读
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • CSS3 中均匀间隔的导航链接占据 ul 的整个宽度

    我想创建一个水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 ul 导航链接可以有不同的宽度 第一个和最后一个链接应与链接的开头和结尾对齐 ul 分别 意味着链接不居中 如下所示 left side right side li
  • JQGrid 以编程方式选择网格行

    我有一个带有 loadonce true 的 JQGrid 所以它都是客户端 并启用了分页 比如说 20 页 我想指定一行 以编程方式 无需用户输入 并让我的网格导航到相应的页面以选择指定的行 当前的 JQGrid 可以吗 我研究了搜索和过
  • 如何在ListView的TextCell中换行文本?

    如何在ListView的TextCell中换行文本 我尝试设置HasUnevenRows to True但这没有帮助 您不能使用 Xamarin 的 开箱即用 TextCell 功能 但是 您应该能够创建一个 ViewCell 并利用换行模
  • xamarin.forms 从 xaml 到属性的绑定

    我是一个 xaml 绑定的新手 有时我真的不明白 我的 xaml 中有这个
  • Xamarin Studio 上的代码覆盖率

    是否有可靠的工具可以帮助我们测量单元测试的代码覆盖率 我主要从事 Xamarin 项目 在 Xamarin Studio 中 为了不得到大量 1 我环顾四周 但找不到足够成熟可靠的东西 我不要求产品免费 但如果是的话当然更好 Mono 4
  • 'IAsyncOperation<>' Xamarin 表单

    在 UWP 应用程序和 Xamarin Forms 应用程序中使用完全相同的代码时 我在 Xamarin Forms 程序上收到以下错误 但在 UWP 程序上则没有 错误 CS0012 在未引用的程序集中定义了类型 IAsyncOperat
  • 如何在xamarin.android中将dp转换为px?

    我想将 dp 转换为 pxC code in xamarin android 但我能找到的只是java代码在 android studio 中xamarin 有一些问题 我尝试使用等效项 例如使用 Resources 而不是 getReso
  • 执行根命令并读取输出 Xamarin

    我无法从根目录读取该文件 怎么做 我使用命令来读取 Java Lang Process suProcess Java Lang Runtime GetRuntime Exec new string su c cat data misc vp
  • 如何在 Xamarin Forms 中制作卡片式 ListView

    我正在尝试根据 ahaliav Fox 的 xaml 示例在 Xamarin Forms 中制作基于卡片的 listViewhere https stackoverflow com questions 30807313 how to add
  • 如何知道我安装的是哪个版本的 monotouch?

    如何知道我安装的是哪个版本的 monotouch 有多种方法可以获取版本号 从终端您可以执行以下操作 Developer MonoTouch usr bin mtouch version mtouch 5 3 5 1340204820 or
  • 用于页面之间导航的自定义动画 Xamarin.forms?

    我使用 Xamarin Forms 创建简单的应用程序 需要将导航设置为上下左右状态 如果你想要上下动画 不是自定义动画 你可以简单地使用Navigation PushModalAsync page 来呈现页面 此外 我刚刚编写了一个自定义
  • 使用 Android 精确定位室内位置 - 不够准确

    我正在尝试寻找一种在室内进行精确定位的解决方案 特别是在大型拥挤的地方 例如购物中心 我尝试构建一个简单的应用程序 尝试仅使用网络服务或 Wifi 网络来精确定位手机 通常当Wifi开启时 精度可以达到40 60米 而当Wifi关闭且仅使用
  • 如何在 Xamarin.iOS 中使用 @selector

    现在我想在我的 xamarin iOS 项目中实现一些功能 我找到了解决方案 但在 Objective C 中实现 它使用了关键字 selector 我发现这个问题 https stackoverflow com questions 321
  • Application.Current.MainPage 与 Navigation.PushAsync() 与 Navigation.PushModalAsync()

    我正在开发一个不需要后退按钮的 Xamarin Forms 应用程序 PCL 该应用程序有三个页面 SplashScreenPage加载数据 aLoginPage如果用户需要登录并且RootPage这是一个MasterDetailPage
  • 从视频文件中提取音频的问题(android)

    我需要将 mp4 或任何其他视频格式 转换为 mp3 或 wav 文件 我正在使用 C Xamarin Forms 我使用的任何库要么不适合我 要么与 android 不兼容 我尝试过使用 Xamarin Android FFMpeg 和

随机推荐

  • Linux 上共享内存的生命周期是多长

    我正在使用 ftok shmget shmat shmdt 函数在 Linux 上创建 写入和读取共享段 如果我写入一个程序中的段 然后退出 然后稍后从另一个程序中读取该段 我会惊讶地发现数据仍然存在 我预计当共享一个段的最后一个进程执行
  • Logstash 输出到文件并忽略编解码器

    请有人向我解释一下 为什么logstash 一直忽略我正在尝试设置的 codec gt plain gt format 设置 我正在使用的 cfg 文件 input gelf host gt some ip port gt 12201 ou
  • 您可以播放 iPod 库中的视频吗?

    iOS4 中是否可以播放 iPod 库中的视频 或者仍然仅限于音频 我找不到任何明确的答案 但 SDK 似乎不允许视频 不 你不能那样做 检查 iPod Library Access 编程指南 它说 iPod 库访问仅适用于基于音频的媒体项
  • Python Scrapy:将相对路径转换为绝对路径

    我根据下面的伟大人士提供的解决方案修改了代码 我收到代码下方显示的错误 from scrapy spider import BaseSpider from scrapy selector import HtmlXPathSelector f
  • .NET 4.0 中的 MembershipProvider

    如何将 MembershipProvider 类添加到 VS 2010 B2 中的 NET 4 0 项目中 我想自定义一个 MembershipProvider 但是如果不添加这个类我就不能 请指导我完成这个过程 有趣的 然而 构建错误是你
  • PHP fopen - 将变量写入 txt 文件

    我已经检查过了 它对我不起作用 PHP将变量写入txt文件 https stackoverflow com questions 19046684 php write a variable to a txt fil 这就是我的代码 请看一下
  • 确定进度条上的点击位置?

    是否可以使用纯 JavaScript 确定用户点击进度条的值 位置 目前 我可以检测到元素上的点击 但只能获取栏的当前位置 与用户的点击无关 http jsfiddle net bobbyrne01 r9pm5Lzw http jsfidd
  • 为什么html表格单元格的边框颜色不改变?

    如何使单元格的左边框变为红色 为什么这不起作用 谢谢
  • 我如何在magento中的特定页面调用.phtml块?

    我如何在测试页面使用 test phtml 我使用了以下代码 但它不起作用 block type core template name Test template goodtest test phtml 但页面上并没有显示任何内容 那么我错
  • GRANT EXECUTE 所需的权限

    我正在为需要能够创建和删除过程但也向其他用户授予执行权限的用户创建一个组 GRANT CREATE PROCEDURE TO xxx xxx GRANT ALTER ON SCHEMA dbo TO xxx xxx 但是 我需要向组授予什么
  • 使用空合并运算符进行初始化?

    我可能没有很好地掌握 操作员然而却遇到了一个我无法解释的设计缺陷 比较以下两个属性 唯一的区别在于初始化方式 第一个显式初始化 而第二个使用 运算符 或者我在这里做错了 如果我使用这两个属性运行 data init 则基于第一个属性的集合将
  • SQL IN 子句比单个查询慢

    我正在使用 Hibernate 的 JPA 实现和 MySQL 5 0 67 MySQL 配置为使用 InnoDB 在执行 JPA 查询 转换为 SQL 时 我发现使用IN子句比执行单个查询慢 例子 SELECT p FROM Person
  • Android 响应 Intent 中的 URL

    我希望当用户访问某个网址时启动我的意图 例如 android 市场使用http market android com http market android com 网址 youtube 也是如此 我希望我的也能这样做 我做到了 使用
  • 为什么我在简单的 DB2 select 语句上收到“数据转换或数据映射错误。SQLCODE=-802”?

    我正在使用 PHP 访问 IBM i AS400 上的 DB2 信息 有了这个代码 query SELECT FROM QS36F MYTABLE WHERE MYFIELD 120006 result db2 prepare conn q
  • iOS 8 自定义键盘扩展 UIKeyboardType

    我正在构建一个 iOS 8 自定义键盘 我希望根据 UIKeyboardType 更改键盘的布局 但是 在 UIInputViewController 中读取的键盘类型始终为 0 有什么建议么 提前致谢 void viewDidLoad s
  • Android Studio - Gradle 刷新失败

    我正在使用最新版本的 android studio 来构建我的 android 应用程序 gradle 包装器设置了 gradle 安装 并且项目构建没有错误 最终我每次重新启动时都会遇到一个错误 Gradle 配置项目 App 时出现问题
  • Swagger 定义中的 BigDecimal 作为 String

    我想定义一个对象大十进制作为字符串swagger json 现在我可以做 MyObject type object properties amountOfMoney type string pattern d d name type str
  • rpy2 (版本 2.3.10) - 将数据从 R 包导入到 python 中

    因此 我尝试将一些数据从 R 包导入到 python 中 以测试我编写的其他一些 python rpy2 函数 特别是 我正在使用SpatialEpiR 中的包和pennLC数据集 所以我能够导入 rpy2 包并正确连接到该包 但是 我不确
  • CMake编译java代码

    是否可以使用CMake来编译并运行java代码 从命令行我在终端上编写的命令是 javac classpath theClasspath mainClass java java classpath theClasspath mainClas
  • 用于页面之间导航的自定义动画 Xamarin.forms?

    我使用 Xamarin Forms 创建简单的应用程序 需要将导航设置为上下左右状态 如果你想要上下动画 不是自定义动画 你可以简单地使用Navigation PushModalAsync page 来呈现页面 此外 我刚刚编写了一个自定义