WP8 方向改变动画

2024-04-22

向 Windows Phone 8 应用程序添加方向更改动画的最简单方法是什么?我对消息、日历等本机应用程序中的东西感兴趣。我一直在寻找一种快速而简单的解决方案,我发现唯一有效的是 NuGet 中的 DynamicOrientionChanges 库,但它在 Windows 上的帧率存在巨大问题电话 8.


您可以使用 Windows.Phone.Toolkit 并处理 OrientationChangedEvent,如下所示:

http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/11/23/windows-phone-7-page-orientation-change-animations.aspx http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/11/23/windows-phone-7-page-orientation-change-animations.aspx

我将在此处复制链接文章的源代码部分,以防页面离线。它包含额外的逻辑来跟踪当前方向来自哪个方向,以便动画与变化相匹配:

public partial class MainPage : PhoneApplicationPage
{
    PageOrientation lastOrientation;

    // Constructor
    public MainPage()
    {
        InitializeComponent();

        this.OrientationChanged += new EventHandler<OrientationChangedEventArgs>(MainPage_OrientationChanged);

        lastOrientation = this.Orientation;
    }

    void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
    {
        PageOrientation newOrientation = e.Orientation;
        Debug.WriteLine("New orientation: " + newOrientation.ToString());

        // Orientations are (clockwise) 'PortraitUp', 'LandscapeRight', 'LandscapeLeft'

        RotateTransition transitionElement = new RotateTransition();

        switch (newOrientation)
        {
            case PageOrientation.Landscape:
            case PageOrientation.LandscapeRight:
                // Come here from PortraitUp (i.e. clockwise) or LandscapeLeft?
                if (lastOrientation == PageOrientation.PortraitUp)
                    transitionElement.Mode = RotateTransitionMode.In90Counterclockwise;
                else
                    transitionElement.Mode = RotateTransitionMode.In180Clockwise;
                break;
            case PageOrientation.LandscapeLeft:
                // Come here from LandscapeRight or PortraitUp?
                if (lastOrientation == PageOrientation.LandscapeRight)
                    transitionElement.Mode = RotateTransitionMode.In180Counterclockwise;
                else
                    transitionElement.Mode = RotateTransitionMode.In90Clockwise;
                break;
            case PageOrientation.Portrait:
            case PageOrientation.PortraitUp:
                // Come here from LandscapeLeft or LandscapeRight?
                if (lastOrientation == PageOrientation.LandscapeLeft)
                    transitionElement.Mode = RotateTransitionMode.In90Counterclockwise;
                else
                    transitionElement.Mode = RotateTransitionMode.In90Clockwise;
                break;
            default:
                break;
        }

        // Execute the transition
        PhoneApplicationPage phoneApplicationPage = (PhoneApplicationPage)(((PhoneApplicationFrame)Application.Current.RootVisual)).Content;
        ITransition transition = transitionElement.GetTransition(phoneApplicationPage);
        transition.Completed += delegate
        {
            transition.Stop();
        };
        transition.Begin();

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

WP8 方向改变动画 的相关文章

  • 更改时为 UITableView 动画重新加载数据

    我有一个有两种模式的 UITableView 当我们在模式之间切换时 我有不同数量的部分和每个部分的单元格 理想情况下 当表格增大或缩小时 它会执行一些很酷的动画 这是我尝试过的代码 但它没有执行任何操作 CGContextRef cont
  • LongListSelector 内的缓慢故事板动画

    我有一个 LongListSelector 其中填充了一些项目 每个项目都有一个子菜单 可以使用滑动动画显示或折叠该子菜单 问题是动画非常慢 具体取决于您在列表中点击的项目 开始和结束的时候很慢 中间很顺利 我怀疑每个动画帧都会使长列表选择
  • Windows Phone 8 开始屏幕磁贴大小和边距

    我想知道是否有人知道新的 Windows Phone 8 Startscreen 480x800 的确切尺寸 即边距 顶部 左侧和右侧 图块之间 以及所有三种不同图块尺寸的边缘长度 For 720p 1280 720 and WXGA 12
  • 在 Windows Phone 8 中设置广告

    我发现了一些对类似问题的零散回复 主要是 Windows Phone 7 但我想发布一个包含 Windows Phone 8 广告的所有要求的答案 我在 Windows Phone 8 中设置广告时遇到了一些问题 每次运行模拟器时 我都会遇
  • Matplotlib 动画未显示

    当我在家里的电脑上尝试这个时 它可以工作 但在工作的电脑上却不行 这是代码 import numpy as np import matplotlib pyplot as plt import matplotlib animation as
  • CSS 可见性动画不起作用

    我想在 CSS 可见性属性上制作基于关键帧的动画 我最初在 显示 上尝试过 但发现不支持 显示 上的动画 但支持 可见性 这个想法是让矩形的可见性不断切换 我不想使用 jquery 并且想在 CSS 中实现整个它 以下是我的代码 但它没有给
  • 如何同时执行多个 jquery 效果?

    我正在页面上制作一些错误 验证元素的动画 我希望它们能够弹跳并突出显示 但如果可能的话 同时进行 这是我目前正在做的事情 var els errorMsg els effect bounce times 5 100 els effect h
  • 什么是离散动画?

    The MDN 动画文档 https developer mozilla org en US docs Web CSS animation v control指动画类型是离散 这是什么意思 离散动画从一个关键帧进行到下一关键帧 无需任何插值
  • Android 简单 TextView 动画

    我有一个 TextView 我想倒计时 3 2 1 发生了事情 为了使其更有趣 我希望每个数字都以完全不透明开始 然后淡出至透明 有没有一种简单的方法可以做到这一点 尝试这样的事情 private void countDown final
  • 从项目文件加载图像

    我正在尝试获取 png 图像 这是我的资源文件夹 我测试了这里写的解决方案 将图像添加到列表框 c Windows Phone 7 https stackoverflow com questions 9348766 add images t
  • 如何重新启动/重置 Jquery 动画

    如何在 jquery 中重置动画 例如 CSS block position absolute top 0 left 0 JS block animate left 50 top 50 如果我做 block stop 动画将停止 但我怎样才
  • 如何在打开导航抽屉时使背景 Activity 变小?

    我想做我的背景Activity打开时稍微小一点Navigation Drawer 模拟存在的效果Airbnb应用 我想最好的解释是截图 但重点不是让 View 变小 而是让它成为与 Drawer 打开 关闭动画同步的动画 因此 如果您开始打
  • 通过 SMS(URI 关联)启动应用程序

    是否可以通过短信使用预先注册的 URI 启动应用程序 我成功地测试了通过网站上的链接启动应用程序 例如链接的 href 中的 myapp param test 但在 SMS 方面却没有运气 有没有办法通过短信启动自己的应用程序 感谢和问候
  • Jquery 动画背景图像过渡

    我有一个导航栏 当将鼠标悬停在某个项目上时 背景图像会发生变化 效果很好 但是 我希望该图像从顶部滑入 并在您停止悬停时向上滑回 我一直在尝试使用 JQuery 使用 css bacgroundImage 和滑动或切换来做到这一点 但这些似
  • 获取 NullPointerException:尝试从字段“int android.view.View.mViewFlags”读取 - Android 动画

    我已经实现了一个动画 其中我在回收器视图中有图像视图 单击该项目时我想在回收器视图之外的图像视图上做一些动画 这样 我创建了一个新的图像视图 将其添加到主容器中 做了动画 最后我将它从主容器中取出 以下是回收器视图的点击项的代码 Code
  • Windows Phone SDK8 安装疑难解答

    我在运行 Windows 8 非专业版 的 PC 上使用 Visual Studio 2012 SDK 8 0 我决定购买另一个硬盘在同一台 PC 上安装 Windows Pro 以便在 PC 上运行 Windows Phone 模拟器 P
  • jQuery 动画延迟

    如何使用 jQuery 延迟动画 我需要获得一个导航来扩大宽度 然后扩大高度 然后反转以获得反向动画 Code function nav li not logo nav li ul li hover function this animat
  • Java 动画中的跳跃和撕裂

    以下代码绘制一个正方形 其中两个较小的正方形在其中旋转 每当你点击键盘上的箭头时 整个系统就会朝那个方向移动 然而 我遇到了一些图像撕裂和有时跳过的问题 它很小但仍然存在 我想知道是否有人知道如何在不大规模更改代码的情况下解决这些问题 im
  • 应用程序在尝试绑定隔离存储映像时崩溃

    在我的应用程序中 我使用下面提到的辅助方法将我的独立存储图像绑定到图像控件 我从链接 获得了这个辅助方法将存储在独立存储中的图像绑定到 Windows Phone 中的图像控件 https stackoverflow com questio
  • 从 WP8 连接至 Polar H7 心率监测器

    有没有办法从 Windows Phone 8 连接到低功耗蓝牙设备 例如心率监测器 例如 Polar H7 我尝试过的一些背景 我看过这个 Windows 8 的示例 http code msdn microsoft com windows

随机推荐

  • Perl 错误,无法使用 Defined(@array)。我怎样才能解决这个问题?

    我收到此错误 gt 无法使用 已定义 array 也许您应该省略已定义 在这行代码上 if defined linkbot nroboton 我怎样才能解决这个问题 defined https perldoc pl functions de
  • Android版VLC编译错误

    当我根据这个编译适用于Android的VLC时page https wiki videolan org AndroidCompile 在步骤 sh 编译 sh 我收到此错误 For an ARMv6 device without FPU e
  • Postgresql初始配置:如何以postgres用户访问?

    安装postgresql后 我尝试了一下 输入createdb mydb 就像文档中写的那样 然后出现以下错误 createdb could not connect to database postgres FATAL role xxx d
  • Dagger 2:无法解析匕首组件的符号

    我想锻炼这个Dagger 2 车载电机 http code tutsplus com tutorials dependency injection with dagger 2 on android cms 23345例子 除了我的 Grad
  • EF6 和 Visual Studio 2017 中的实体框架工具在哪里?

    我正在使用 Visual Studio 2017 和 Entity Framework 6 但在我的一生中 我找不到 EDMX 文件 实体数据工具 模型浏览器或实体设计器 我在这里失去理智了吗 我创建了多个新项目 试图找到这些基于 UI 的
  • 如何使用 Clip-path CSS 属性截取 HTML 节点的屏幕截图? (html2canvas 不适用于此)

    我在用着html2canvas https github com niklasvh html2canvas库来截取 HTML 节点的屏幕截图 但它根本无法识别clip path财产 我尝试在这里复制错误时遇到跨域问题 所以我做了一个jsfi
  • 是否可以在 Arduino 上运行 ZeroMQ

    我想知道是否可以通过 ZeroMQ 与 Arduino 进行通信 我想使用 Arduino 来控制一些设备 并希望将大部分应用程序放在计算机上 为此 如果 Arduino 和控制器可以通过 Zeromq 以及 WiFi 或以太网扩展板进行通
  • 如何在 GNU Make 的定义中使用 ifeq?

    我正在尝试在 Makefile 中的定义内执行 ifeq 但我似乎遇到了一些错误 并且我想知道是否遗漏了某些内容 我有以下 Makefile info start ifeq X Y info DOES not appear 1 endif
  • 从实时数据库获取 json 数据到 Dialogflow 内联编辑器(谷歌助手)

    编程初学者 我正在利用空闲时间从事一个与 Google Assistant 相关的项目 这是我第一次使用 Firebase 实时数据库 不知道如何从那里获取数据 代码下面是 Dialogflow 的内联编辑器中的内容 其中的类别 1 2 和
  • MsSql Compact,两列及以上列的唯一约束

    伙计们 MsSql Compact 是否具有在两个或多个列上创建复合唯一索引 只是约束 而不是主键 的功能 第 1 栏 第 2 栏 1 2 1 2 插入 更新必须生成异常 我没有通过服务器资源管理器的设计器看到此功能 CREATE UNIQ
  • VBA - 使用单元格引用对非空白单元格进行计数

    在 VBA 中 使用 Excel 2016 我尝试计算给定范围内的非空白单元格数量 但仅使用单元格整数引用 我尝试过以下方法 WB Sheets 1 Range Cells 2 X Cells 2 Y Cells SpecialCells
  • 使用 php://input 和 file_put_contents

    我正在接收使用 Ajax 上传到我的 PHP 脚本中的文件 图像 并使用以下命令让它工作 input fopen php input r file put contents image jpg input 显然我会在此操作之前清理输入 我想
  • 按钮图像不显示

    我刚刚学习如何使用 Django 和 HTML 我遇到了这样的问题 我的图像没有显示在按钮上 我不明白错误是什么 如果有人可以帮助我修复它 我将不胜感激
  • Flutter:无法在调试或发布中构建android

    突然我的应用程序无法在调试或发布模式下运行 我在用户界面中添加了一些屏幕 但我没有更改或添加任何包 我不知道到底发生了什么 但我尝试用 Android Studio 中的本地历史记录来逆转我的更改 但也没有发生任何事情 我的输出是 FAIL
  • Swift 编译器错误:“Double”无法转换为 CGFloat

    我刚刚开始学习 Swift 我创建了一个游戏项目并出现了一个模板 我没有对代码做任何事情 我尝试运行该项目 但弹出编译器错误 我将停止教程 因此我的环境可能有问题 或者这本书已经过时了 Swift 编译器错误 Double 无法转换为 CG
  • 将 HTML 转义为 PHP 还是使用 Echo?哪个更好?

    就性能而言 什么会更好 使用 PHP 来回显所有 HTML 输出 这样我就可以在整个文档中添加各种工作代码和变量 或者定期将 HTML 转义为 php 我知道可能存在一些可读性问题 但我并不担心 谢谢大家 实施例1 echo The con
  • 使用 CCTouchDispatcher Cocos2d 2.0 Beta-2 ARC

    我正在使用 cocos2d 2 0 BETA 2 0 最新的 创建一个游戏 我需要在其他班级添加一个操纵杆 所以我在第二堂课上称之为 CCTouchDispatcher 但我不能这样调用 CCTouchDispatcher sharedDi
  • 如何以编程方式在 qml 中渲染 vtk 项目?

    到目前为止 我了解到我们在 QML 中有两个线程 我们的主应用程序线程和我们的 场景图 线程 http doc qt io qt 5 qtquick visualcanvas scenegraph html http doc qt io q
  • 谷歌 reCaptcha 说:无效的请求 cookie

    这是我第一次在我的网站上使用 recapcha 我正在使用 PHP API 来验证验证码 它一直说invalid request cookie 我在不同的论坛上发现 www example com 与 example com 不同 因此我重
  • WP8 方向改变动画

    向 Windows Phone 8 应用程序添加方向更改动画的最简单方法是什么 我对消息 日历等本机应用程序中的东西感兴趣 我一直在寻找一种快速而简单的解决方案 我发现唯一有效的是 NuGet 中的 DynamicOrientionChan