Windows Phone 开发之 设备方向

默认项目是“只支持纵向的”

如果你看一下MainPage.xaml文件的头部信息,会发现两个属性:SupportedOrientations=”Portrait” Orientation=”Portrait”

可以将SupportedOrientations想象成你准备在程序中支持的可能发生的情况的列表。你可以将SupportedOrientations设置成以下3个值中的任意一个:

  • Portrait (默认值)
  • Landscape
  • PortraitOrLandscape

Orientation属性是想让你的程序在启动时以何种方式呈现。它有更多的值可选,但记住如果想要以 模式启动,你需要将横向包含到SupportedOrientations中。下面是Orientation值的列表:

  • Landscape
  • LandscapeLeft (将电话向左翻转)
  • LandscapeRight (将电话向右翻转)
  • Portrait
  • PortraitDown (正常的竖直方向)
  • PortraitUp (倒置)

你可以看到在上表中不仅可以指定纵向或横向,还可以指定这些方向的排列方式。这允许你用你喜欢的方向开始你的应用程序。

改变方向

有两种方式可以改变设备的方向。第一将SupportedOrientation设置为“PortraitOrLandscape”让操作系统为你实现。在大多数情况下,并不推荐这样做,因为你的应用程序界面可能不再适应屏幕了。第二种方式是通过代码实现。

你可以看到在横向时,很多按钮不在屏幕之中。这不是理想的用户体验。简单解决方法是去掉标题。我确信我们的用户可以看出这是一个计算器。我们可以对按钮进行重新布局,如果对于程序来说有意义,那就去做!

以下代码来告诉你设备的方向判断和 处理操作

 public CustomerPage()
        {
            InitializeComponent();
            OrientationChanged += new EventHandler<OrientationChangedEventArgs>(CustomerPage_OrientationChanged); //判断屏幕横屏和树屏的改变
        }

        //解决屏幕横屏和树屏的改变带来的数据加载问题
        void CustomerPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
        {
            //如果是横屏分页数为5
            if (e.Orientation == PageOrientation.LandscapeLeft || e.Orientation == PageOrientation.LandscapeRight)
            {
                PageCount = 5;
            }
            //如果是竖屏分页数为10
            else if (e.Orientation == PageOrientation.PortraitDown || e.Orientation == PageOrientation.PortraitUp)
            {
                PageCount = 10;
            }
        }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值