UWP C# 禁用屏幕旋转动画

3

是否可以禁用手机旋转时执行的“屏幕旋转”动画效果(从横屏切换到竖屏或反之亦然)?


也许这个链接可以帮到你:https://dev59.com/QHjZa4cB1Zd3GeqPay07 - Kasper Due
2个回答

4

前往package.appxmanifest 在应用程序选项卡上 支持的旋转:选择您的纵向或横向 输入图像描述


那样做没有任何帮助。那些只是支持的旋转。 - RareNCool
1
对我来说起作用了。旋转我的设备并没有旋转UI。只支持竖屏模式可以禁用旋转。(在支持纪念版更新14933的应用程序和Lumia 930上进行了测试) - JP Hellemons

4

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

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

更新:如果你想像相机应用程序一样平滑地旋转按钮,则有一些方法可以实现:

1.- 使用陀螺仪:

您需要创建自己的动画,使用storyboards实时移动按钮的旋转,根据设备的位置进行计算以确定设备是否处于纵向或横向模式,并实时移动按钮,就像Nokia Camera一样。我曾在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/

两种方法之间的最大区别在于第一种方法可以实时更改控件的方向,从而提供良好的用户体验,而第二种方法在事件被触发后才会执行动画。

祝好!

如果对您有帮助,请标记此答案!


我仍然想支持所有的屏幕方向,只是不希望在屏幕从横向到纵向或者反过来旋转时有动画效果。 - AZX
1
我认为这是不可能的。 - RicardoPons
1
因为这个动画是由操作系统处理的。 - RicardoPons
谢谢。你知道吗,是否可能将方向锁定为仅横屏(就像你在原始答案中提到的),但是根据设备的旋转方式来旋转软性导航按钮(返回、Windows和搜索按钮)?我想实现与Windows 10自带相机应用程序类似的效果。当你旋转屏幕时,没有旋转动画,但导航栏按钮仍然会旋转。 - AZX
我之前做过类似的事情,我会更新我的答案。 - RicardoPons

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接