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. 不依赖Hibernate的万能BaseDao---模仿了Hibernate底层的原理

    今天写了个万能的BaseDao:有了这个BaseDao以后的Dao层直接继承这个BaseDao就能直接操作数据库了,增删改查,这是一个简易的Hibernate模型.写这个BaseDao的原因是最近在学 ...

  2. vue $emit子组件传出多个参数,如何在父组件中在接收所有参数的同时添加自定义参数

    Vue.js 父子组件通信的十种方式 前言 很多时候用$emit携带参数传出事件,并且又需要在父组件中使用自定义参数时,这时我们就无法接受到子组件传出的参数了.找到了两种方法可以同时添加自定义参数的方 ...

  3. 利用for循环和range输出9 * 9乘法口诀表

    li = [2, 3, 4, 5, 6, 7, 8, 9, 10] for i in li: for j in range(1, i): print('{0} * {1} = {2}'.format( ...

  4. console_init()分析

    启动阶段初始化控制台流程分析, start_kernel console_init(); -->tty_ldisc_begin(); /* Setup the default TTY line ...

  5. LeetCode(152) Maximum Product Subarray

    题目 Find the contiguous subarray within an array (containing at least one number) which has the large ...

  6. STM32三种启动模式 boot0 boot1

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存=芯片内置的Flash.2)SRAM=芯片内置的RAM区,就是内存啦.3)系统存储器=芯片内部一块特定的区域,芯片出厂时在这个 ...

  7. 针对NM_CUSTOMDRAW消息的学习

    消息的形式:1 窗口消息,2 命令消息,3 WM_NOTIFY消息,4 自定义消息 我们的NM_CUSTOMDRAW消息就是就属于第三种WM_NOTIFY消息,而添加消息映射的方法分为两种: BEGI ...

  8. PHP GD库---之微信朋友圈9张图

    $item_pic = "img/item.jpg"; list($width, $height) = getimagesize($item_pic); $item_pic = i ...

  9. bzoj3262陌上花开 三维数点 cdq+树状数组

    大早上的做了一道三维数点一道五位数点,神清气爽! 先给一维排序,变成一个奇怪的动态的二维数点(相当于有一个扫描面扫过去,导致一系列的加点和询问) 然后cdq分治,再变回静态,考虑前半段对后半段的影响 ...

  10. 通用的前端js代码

    1.判断是否移动设备的浏览器,是否允许触摸事件.(响应式网页) if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i. ...