【问题标题】:UWP C# Disable Orientation Change AnimationUWP C# 禁用方向更改动画
【发布时间】:2016-02-28 06:34:12
【问题描述】:

是否可以禁用手机旋转时执行的“屏幕旋转”动画(从横向变为纵向,反之亦然)?

【问题讨论】:

标签: win-universal-app windows-10-mobile


【解决方案1】:

你需要使用DisplayInformation.AutoRotationPreferences = DisplayOrientations.LandscapeFlipped | DisplayOrientations.Landscape;

您需要在您的页面的 OnNavigatedTo 中设置方向,您可以根据您的页面或您的要求启用或禁用不同的方向。

更新:如果您想用流畅的动画像相机应用一样旋转按钮,有一些方法可以做到:

1.- 使用陀螺仪:

您需要创建自己的动画,故事板会根据设备的位置实时移动按钮的旋转。您需要进行一些计算以确定设备是处于纵向还是横向模式,并像诺基亚相机一样实时移动按钮。

我为 Windows Phone 8 做了这个方法,这很困难,但最后的工作非常好! https://msdn.microsoft.com/library/windows/apps/br225718

2.- 使用 OrientationChanged 事件

您需要侦听事件 OrientationChanged 事件,并且设备的厌恶处于纵向或横向模式立即您需要对要旋转的控件执行一些动画您可以使用 Blend 和 StoryBoards 执行此方法 https://msdn.microsoft.com/en-us/library/windows/apps/windows.graphics.display.displayproperties.orientationchanged.aspx

这是一个创建简单动画以旋转图像的示例

https://comentsys.wordpress.com/2015/05/06/windows-10-universal-windows-platform-image-rotate/

这两个选项之间的最大区别在于,第一个选项提供了很好的体验,您可以根据设备的方向实时更改控件,而第二种方法是在引发事件后执行动画。

最好的问候

如果对你有用,请标记此答案!

【讨论】:

  • 我还是想支持所有方向。当屏幕在横向到纵向之间旋转时,我只是不想有动画,反之亦然。
  • 我认为不可能
  • 因为这个动画是由操作系统处理的
  • 谢谢。您是否知道是否可以将方向锁定为例如横向(就像您在原始答案中提出的那样),但是然后根据旋转以某种方式仅旋转软导航按钮(软后退、窗口和搜索按钮)设备?我想制作与 Windows 10 相机应用程序一样的效果。旋转屏幕时,没有旋转动画,但导航栏按钮还是会旋转。
  • 在更新我的答案之前我做了类似的事情
【解决方案2】:

转到 package.appxmanifest 在应用程序选项卡上 支持的旋转:选择您的纵向或横向

【讨论】:

  • 这无济于事。这些只是支持旋转。
  • 为我工作。旋转我的设备并没有旋转 UI。仅支持纵向模式会禁用旋转。 (在 lumia 930 上进行了测试,带有创建者更新和最小支持周年更新 14933 的应用)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-10
相关资源
最近更新 更多