Windows Phone 8 比较 windows phone 7 来说有很多功能及性能上的提升例如支持多核 CUP、支持SD卡、多种分辨率、 显然WP7 WVGA - 480x800 的已经不能完全满足所用户的需求,很多用户喜欢大屏幕高分辨的手机,随着大屏手机的逐渐推出 WP8 也是支持大分辨率的屏幕【WXGA - 768x1280 和 720P - 720x1280】

之前跟大家提起过关于应用设配WP8多种分辨率的事情,但是可能还是有些同学不是很明白如何判断当前手机的分辨率以及如何让应用自适应当前的手机分辨率 今天我给大家详细的介绍一下。

Windows phone 8 支持的屏幕分辨率有三种如下:

其中我们可以清楚的看到 WVGA 和 WXGA的屏幕横宽比例都是 15:9 的,只有在720P 的情况下是 16:9 的这点要提醒大家有些应用或许就要对720P的情况进行特殊处理下 例如一些图片或者视频类的应用。

另外相信很多同学想实现全屏或者更改系统时间电量图标颜色 请使用 SystemTray 进行设置:

void MainPage_Loaded(object sender, RoutedEventArgs e)
{
ProgressIndicator progress = new ProgressIndicator
{
IsVisible = true,
IsIndeterminate = true,
Text = "Downloading details..."
};
SystemTray.SetProgressIndicator(this, progress);
SystemTray.BackgroundColor = System.Windows.Media.Colors.Red;
SystemTray.ForegroundColor = System.Windows.Media.Colors.Blue;
//SystemTray.IsVisible = false;
}

通过上面的方法就可以隐藏状态条 或 根据应用的样式来调整 Tray的样式,个人感觉比较实用在这里给大家介绍一下。

当然今天的重点还是多分辨率的支持 以下是实现一个 ResolutionHeper class 判断当前屏幕分辨率的方法:

public enum Resolutions { WVGA, WXGA, HD720p };

public static class ResolutionHelper
{
private static bool IsWvga
{
get
{
return App.Current.Host.Content.ScaleFactor == 100;
}
} private static bool IsWxga
{
get
{
return App.Current.Host.Content.ScaleFactor == 160;
}
} private static bool Is720p
{
get
{
return App.Current.Host.Content.ScaleFactor == 150;
}
} public static Resolutions CurrentResolution
{
get
{
if (IsWvga) return Resolutions.WVGA;
else if (IsWxga) return Resolutions.WXGA;
else if (Is720p) return Resolutions.HD720p;
else throw new InvalidOperationException("Unknown resolution");
}
}
}

上面这段代码是使用 System.Windows.Interop 中的

public int ScaleFactor { get; }

The scale factor for the current application content area.

通过屏幕比例来判断屏幕分辨率。

另外在不同分辨率的手机上需要使用相应的SplashScreenImage.jpg文件来完美适应屏幕的大小,否则系统将会自动缩放。

Windows Phone 8 适应多屏分辨率的更多相关文章

  1. mirror op 如果在windows receiver上是黑屏

    mirror op 如果在windows receiver上是黑屏,手机上要重启下再打开mirror op.(手机是一加3 安卓7.0)

  2. windows 8.1 下蓝屏报错:SYSTEM_SERVICE_EXCEPTION(NETIO.SYS)的解决办法

         大概2周前,电脑突然蓝屏了,我上网查了一下解决办法,因为大部分内容是英文的,所以我只大概看了下,看到这个问题好像是由于软件冲突造成的,于是就把小红伞去掉了,而那天电脑也真的没有再蓝屏(之前大 ...

  3. OAF_解决OAF与Windows版本不兼容黑屏

    20150806 Created By BaoXinjian

  4. Windows 代码实现关机(直接黑屏)

    整理资料的时候发现的以前的代码,本机Win7 x64 Sp1 运行直接关机,黑屏.就是利用RtlAdjustPrivilege函数提权,代码中的注释写的很详细了.用的VS2010写的,直接编译成x64 ...

  5. windows phone 8 设置锁屏背景

    本来想研究一下 利用闪光灯实现手电筒的代码,发现不是简答设置FlashMode属性可以解决问题的,ms也没有提供api,无意瞄了一眼侧边栏的文章列表,发现了设置屏幕锁屏背景的实现,手一抖点进去了.还算 ...

  6. Windows卸载软件出现蓝屏SYSTEM SERVICE EXCEPTION(VrvProtect_x64_2.sys)

    今天给大家介绍一个卸载Windows上软件的工具Windows Installer Clean Up,可以卸载电脑上的很多控制面板里面卸载不掉的软件,或者卸载过程中出现问题的软件. (1)出现的现象: ...

  7. Windows Server2012,启动黑屏,只会弹出一个cmd命令窗口的解决办法

    Windows Server2012 服务器.在添加删除一个角色功能的时候,有可能会误删除Net Framework 4.5这个电脑基本功能组件. 就会影响到GUI界面的显示,所以服务器打开就只会黑屏 ...

  8. Windows用WinDbg分析蓝屏dump文件查找原因(转)

    WinDbg官方下载: http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi http://msdl. ...

  9. windows nvlddmkm、DRIVER_POWER_STATE_FAILURE 蓝屏问题的解决资料

    背景与现象描述 博主在最近购买了 机械革命 Z2-R (MECHREVO Z2-R Series GK5CP02) 笔记本电脑后,几乎每天均有不下3次的蓝屏,而且机器热时,更甚,达到每天10次以上,简 ...

随机推荐

  1. 拖拽图片到另一个div里

    HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. constraint the design

  3. 这一千个Python库,总有你想要的!

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  4. python里字典的用法介绍

    一.什么是字典 字典是python里的一种数据类型,特点是元素的无序性,和键key的唯一性.字典的创建方法是{key:values},字典里的键key只能是不可变的数据类型(整型,字符串或者是元组), ...

  5. F查询与Q查询

    F查询 如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的比较.F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值. # 查询评论 ...

  6. 回调深入理解 同步回调 以android中View.OnClickListener为列

    现在来分析分析下Android View的点击方法onclick();我们知道onclick()是一个回调方法,当用户点击View就执行这个方法,我们用Button来举例好了   //这个是View的 ...

  7. 《小团团团队》【Alpha】Scrum Meeting 3

    项目 内容 课程名 软件工程 作业链接地址 Github地址 团队名称 小团团团队 具体目标 1.掌握软件测试基础技术:2.学习迭代式增量软件开发过程(Scrum) 1.1前言 第三天 时间: 201 ...

  8. dedecms 建站相关问题

    1.栏目新建文章提示:模板文件不存在,无法解析文档! 解决方法:把模板文件使用".html"的格式 /include/arc.archives.class.php 556行 if ...

  9. 取出列表中第N大的数

    array=list(range(10)) random.shuffle(array) print(array) def func1(array,n): d,k={},n while k>0: ...

  10. day04_06 短路原则

    True和False不能写成ture和false,不然会报错 not not True or False and not True 按照not>and>or来进行括号 (not (not ...