是否可以禁用手机旋转时执行的“屏幕旋转”动画效果(从横屏切换到竖屏或反之亦然)?
是否可以禁用手机旋转时执行的“屏幕旋转”动画效果(从横屏切换到竖屏或反之亦然)?
你需要使用 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/
两种方法之间的最大区别在于第一种方法可以实时更改控件的方向,从而提供良好的用户体验,而第二种方法在事件被触发后才会执行动画。
祝好!
如果对您有帮助,请标记此答案!