如何判断设备是垂直(纵向)还是水平(横向)?
是否存在简化此操作的API,或者您是否必须使用加速度计“手动”进行测定?
答案 0 :(得分:4)
我自己只看了windows 7手机(通过vs2010快速手机版)。
似乎在这个
背后的代码中 public MainPage()
{
InitializeComponent();
// seems to set the supported orientations that your program will support.
SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape;
}
然后实际的表格有
private void PhoneApplicationPage_OrientationChanging(object sender, OrientationChangedEventArgs e)
{
var test = e.Orientation;
}
因此,当方向改变时,e.Orientation将告诉你它的方向。比如LandscapeRight。
答案 1 :(得分:2)
此外,您不必仅通过事件跟踪此事件,您可以直接从PhoneApplicationPage实例请求它:
private void Button_Click(object sender, RoutedEventArgs e)
{
MyCurrentOrientation.Text = this.Orientation.ToString();
}
答案 2 :(得分:0)
你也可以通过这个问题来询问它。当你的应用程序启动时,方向会让你知道方向是什么。除此之外,您还可以使用OrientationChanged事件。
在你的主要:
OrientationChanged += new EventHandler<OrientationChangedEventArgs>(MainPage_OrientationChanged);
void MainPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
Console.WriteLine(e.Orientation.ToString());
}