成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

31天學會Windows Phone 7開發:設備方向

移動開發
本文是“Windows Phone 7開發31日談”系列的第四篇文章,本文我們聚焦另一個硬件特性:設備方向。

上一篇我們討論了Windows Phone的一個專用硬件按鈕——返回鍵。本文我們聚焦另一個硬件特性:設備方向。

縱向和橫向

這兩個術語區別并不太明顯,縱向是設備的垂直方向,橫向是水平方向。這兩種方向在Windows Phone 7中都支持,但默認情況下,Silverlight程序以縱向開始,XNA程序以橫向開始(游戲通常在寬屏下表現會更好)。本篇文章中,我們只討論Silverlight程序,以及方向改變后如何去做,因為在用戶使用程序時方向的變化是不可避免的。

默認項目是“只支持縱向的”

如果你看一下MainPage.xaml文件的頭部信息,會發現兩個屬性:

SupportedOrientations="Portrait" Orientation="Portrait"

可以將SupportedOrientations想象成你準備在程序中支持的可能發生的情況的列表。你可以將SupportedOrientations設置成以下3個值中的任意一個:

◆Portrait (默認值)

◆Landscape

◆PortraitOrLandscape

Orientation屬性是讓你的程序在啟動時以何種方式呈現。它有更多的值可選,但記住如果想要以橫向模式啟動,你需要將橫向包含到SupportedOrientations中。下面是Orientation值的列表:

◆Landscape

◆LandscapeLeft (將電話向左翻轉,頭部在左)

◆LandscapeRight (將電話向右翻轉,頭部在右)

◆Portrait

◆PortraitDown (正常的豎直方向)

◆PortraitUp (倒置)

你可以看到在上表中不僅可以指定縱向或橫向,還可以指定這些方向的排列方式。這允許你用你喜歡的方向開始你的應用程序。

改變方向

有兩種方式可以改變設備的方向。***將SupportedOrientation設置為“PortraitOrLandscape”讓操作系統為你實現。在大多數情況下,并不推薦這樣做,因為你的應用程序界面可能不再適應屏幕了。第二種方式是通過代碼實現。我們來看一個例子。

這個簡單的界面占據了整個豎直方向的屏幕。

實例界面 

實例界面

你可以看到在橫向時,很多按鈕不在屏幕之中。這不是理想的用戶體驗。簡單解決方法是去掉標題。我確信我們的用戶可以看出這是一個計算器。我們可以對按鈕進行重新布局,如果對于程序來說有意義,那就去做!本篇文章的目的是告訴你如何改變你的程序,而不是告訴你應該改變什么。我用了以下的代碼來使標題欄消失和重現(這是MainPage.xaml.cs文件的全部內容):

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Net;  
  5. using System.Windows;  
  6. using System.Windows.Controls;  
  7. using System.Windows.Documents;  
  8. using System.Windows.Input;  
  9. using System.Windows.Media;  
  10. using System.Windows.Media.Animation;  
  11. using System.Windows.Shapes;  
  12. using Microsoft.Phone.Controls;  
  13.  
  14. namespace Day4_DeviceOrientation  
  15. {  
  16.     public partial class MainPage : PhoneApplicationPage  
  17.     {  
  18.         // Constructor  
  19.         public MainPage()  
  20.         {  
  21.             InitializeComponent();  
  22.             this.OrientationChanged += new EventHandler<OrientationChangedEventArgs>(MainPage_OrientationChanged);  
  23.         }  
  24.  
  25.         void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e)  
  26.         {  
  27.             if ((e.Orientation == PageOrientation.LandscapeRight) || (e.Orientation == PageOrientation.LandscapeLeft))  
  28.             {  
  29.                 TitlePanel.Visibility = Visibility.Collapsed;  
  30.             }  
  31.             else if ((e.Orientation == PageOrientation.PortraitDown) || (e.Orientation == PageOrientation.PortraitUp))  
  32.             {  
  33.                 TitlePanel.Visibility = Visibility.Visible;  
  34.             }  
  35.         }  
  36.     }  

 

因為我只關注程序是橫向還是縱向(而不是所有的方向),所以同時檢測這兩個狀態并相應地調整界面。你可以將每種情況分開處理使界面看起來不同。

注意我為OrientationChanged事件創建的處理程序。這是一個在方向改變時最簡單的識別方法,通常你可以使用將在第11篇文章介紹的加速感應器。看一下使用新代碼后最終的例子:

實例界面

下載示例代碼

原作者:Jeff Blankenburg    譯者:金山崟霸

中文來源:http://www.cnblogs.com/porscheyin/archive/2010/11/21/1883533.html

英文來源:http://www.jeffblankenburg.com/2010/10/04/31-days-of-windows-phone-day-4-device-orientation/

【編輯推薦】

  1. 31天學會Windows Phone 7開發:項目模板
  2. 31天學會Windows Phone 7開發:頁面間導航
  3. 31天學會Windows Phone 7開發:返回鍵
責任編輯:王曉東 來源: 博客園
相關推薦

2012-06-13 13:01:57

Windows Pho

2012-08-02 10:16:39

Windows Pho

2012-06-06 13:48:34

Windows Pho

2012-06-11 13:08:10

Windows Pho

2012-08-01 10:26:33

Windows Pho

2012-08-09 13:39:22

Windows Pho

2012-08-16 11:31:30

Windows Pho

2012-08-13 09:56:45

Windows Pho

2012-06-25 16:14:26

Windows Pho

2012-06-07 09:33:13

Windows Pho

2012-06-19 09:31:53

Windows Pho

2012-06-20 10:21:50

Windows Pho

2012-07-13 14:41:12

2012-07-24 10:15:34

Windows Pho

2012-06-21 10:59:31

Windows Pho

2012-07-11 09:21:35

Windows Pho

2012-07-31 09:44:27

Windows Pho

2012-06-29 14:13:10

2013-04-19 16:52:24

Windows PhoWindows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 人人爽日日躁夜夜躁尤物 | 精品国产一区二区三区观看不卡 | 国产精品99久久久久久久久久久久 | 伊人网综合在线观看 | 国产精品久久久久久妇女 | 久久久青草婷婷精品综合日韩 | 黄色网毛片| 午夜免费福利电影 | 国产91精品网站 | 美女视频黄色的 | 免费在线观看一级毛片 | 久久极品 | 欧美一区2区三区4区公司 | 国产高清在线 | 超级黄色一级片 | 亚洲国产精品激情在线观看 | 在线观看中文字幕 | 欧美性久久 | 免费在线观看av的网站 | 久久精品亚洲一区 | 亚洲自拍偷拍视频 | 日韩在线免费视频 | 久久成人国产精品 | 亚洲日韩中文字幕一区 | 精品欧美一区二区三区久久久 | 国产精品99久久久久久宅男 | 高清一区二区三区 | 91久久国产综合久久91精品网站 | 亚洲成人网在线观看 | 日韩午夜电影 | 日韩精品免费一区 | 久久精品国产久精国产 | 日韩精品一区二区三区 | 亚洲视频免费在线观看 | 天天干天天插 | 精品无码久久久久久国产 | 成人av免费| 黄网站涩免费蜜桃网站 | 毛片一区二区三区 | 亚洲成人av一区二区 | 久久久婷|