微软UWP形式Windows App 可转换相容搭载Android作业系统的Surface Duo双萤幕手机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微软UWP形式Windows App 可转换相容搭载Android作业系统的Surface Duo双萤幕手机相关的知识,希望对你有一定的参考价值。

参考技术A

微软认为开发者透过UniversalWindowsPlatform形式打造的App,可借由Xamarin工具转换成android平台相容App,如此即可在SurfaceDuo执行运作,或是透过其他模拟方式达成相容使用效果。

对于稍早对外揭晓采用Android作业系统的SurfaceDuo,微软在回复开发者相关质疑中,透露SurfaceDuo将可相容使用以UniversalWindowsPlatform形式打造的App。

依照微软先前说法,透过SurfaceDuo串接GooglePlayStore应用资源,同时也能使用微软旗下服务,将能借此发挥更大效益。

由于采用Android作业系统,而非原本Windows10作业系统,难免让开发者质疑微软是否在此款装置舍弃以UniversalWindowsPlatform形式打造的App设计。但就微软相关回应说法,则强调SurfaceDuo依然支援使用UniversalWindowsPlatform形式打造的App,意味开发者仍可将过往打造App内容带到SurfaceDuo使用。

不过,从微软的叙述比较可能是借由VisualStudio开发工具中的Xamarin设计资源,透过让Android、ios与Windows应用程式能共用编码内容,进而透过转译方式输出成不同平台对应版本。

因此从微软回应说法猜测,或许说明可将原本以UniversalWindowsPlatform形式打造的App,借由Xamarin工具转换成Android平台相容App,如此即可在SurfaceDuo执行运作,或是透过其他模拟方式达成相容使用效果。

但这样的说法,或许无法说服过去以来支持UniversalWindowsPlatform设计的开发者,因此微软后续将相关回应内容移除。

以目前微软立场而言,应该不太可能再次挑战智慧型手机作业系统发展,毕竟目前Android、iOS平台已经形成相当庞大发展规模,纵使目前Windows10作业系统已经累积将近10亿的用户人数,微软依然无法在行动装置作业系统抢下明显市占,因此最后选择拥抱竞争对手的作业系统,并且将本身应用服务带到更多市场。

UWP中String类型如何转换为Windows.UI.Color

原文:UWP中String类型如何转换为Windows.UI.Color

我在学习过程中遇到的,我保存主题色为string,但在我想让StatusBar随着主题色变化时发现没法使用。

1 ThemeColorHelper tc = new ThemeColorHelper();              
2 StatusBar statusbar = StatusBar.GetForCurrentView();
3 statusbar.BackgroundColor = (Color)tc.ThemeColor;
4 statusbar.BackgroundOpacity = 1;
5 statusbar.ForegroundColor = Colors.Black;

这样一运行就会报错,

技术分享图片

苦恼了很久都没有解决,最后求助大神说通过创建Dictionary来解决。

 1  if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
 2             {
 3                 Dictionary<string, Color> color = new Dictionary<string, Color>()
 4                 {
 5                     ["SkyBlue"] = Colors.SkyBlue,
 6                     ["Pink"] = Colors.Pink,
 7                     ["LightGreen"] = Colors.LightGreen
 8                 };
 9                 ThemeColorHelper tc = new ThemeColorHelper();              
10                 StatusBar statusbar = StatusBar.GetForCurrentView();
11                 statusbar.BackgroundColor = color[tc.ThemeColor.ToString()];
12                 statusbar.BackgroundOpacity = 1;
13                 statusbar.ForegroundColor = Colors.Black;
14             }

这样有点麻烦,所以大神有说了另一种方法。

 if(ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                ThemeColorHelper tc = new ThemeColorHelper();
                Color color = (Color)typeof(Colors).GetProperty(tc.ThemeColor.ToString()).GetValue(this);         
                StatusBar statusbar = StatusBar.GetForCurrentView();
                statusbar.BackgroundColor = color;
                statusbar.BackgroundOpacity = 1;
                statusbar.ForegroundColor = Colors.Black;
            }

完美解决。但需要注意这个需要引用 using System.Reflection;并且必须使用colors里面有的颜色。否则会报错。

以上是关于微软UWP形式Windows App 可转换相容搭载Android作业系统的Surface Duo双萤幕手机的主要内容,如果未能解决你的问题,请参考以下文章

微软UWP应用,导航栏设计。

在 UWP 应用中创建使用调试 App Service (应用服务)

UWP 重启App

微软宣布 WinUI 的重心在于 Win32,而 UWP 还有未来吗?

微软正式抛弃UWP!

UWP App国际化的两种实现