首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在c# (xamarin跨平台app)中获取屏幕尺寸

在C#(Xamarin跨平台App)中获取屏幕尺寸可以通过以下方式实现:

  1. 使用DeviceDisplay.MainDisplayInfo属性获取主显示设备的信息,包括屏幕尺寸和分辨率。
代码语言:txt
复制
using Xamarin.Essentials;

var mainDisplayInfo = DeviceDisplay.MainDisplayInfo;
var screenWidth = mainDisplayInfo.Width;
var screenHeight = mainDisplayInfo.Height;
  1. 使用DependencyService在各个平台上调用相应的原生API获取屏幕尺寸。

首先,在共享代码项目中创建一个接口,定义获取屏幕尺寸的方法:

代码语言:txt
复制
public interface IScreenSizeService
{
    Size GetScreenSize();
}

然后,在各个平台的原生项目中实现该接口:

在Android项目中,创建一个类ScreenSizeService,实现IScreenSizeService接口:

代码语言:txt
复制
using Xamarin.Forms;
using YourAppName.Droid;
using Android.Content;
using Android.Util;

[assembly: Dependency(typeof(ScreenSizeService))]
namespace YourAppName.Droid
{
    public class ScreenSizeService : IScreenSizeService
    {
        public Size GetScreenSize()
        {
            var displayMetrics = Android.App.Application.Context.Resources.DisplayMetrics;
            var screenWidth = displayMetrics.WidthPixels / displayMetrics.Density;
            var screenHeight = displayMetrics.HeightPixels / displayMetrics.Density;
            return new Size(screenWidth, screenHeight);
        }
    }
}

在iOS项目中,创建一个类ScreenSizeService,实现IScreenSizeService接口:

代码语言:txt
复制
using Xamarin.Forms;
using YourAppName.iOS;
using UIKit;

[assembly: Dependency(typeof(ScreenSizeService))]
namespace YourAppName.iOS
{
    public class ScreenSizeService : IScreenSizeService
    {
        public Size GetScreenSize()
        {
            var bounds = UIScreen.MainScreen.Bounds;
            var screenWidth = bounds.Width;
            var screenHeight = bounds.Height;
            return new Size(screenWidth, screenHeight);
        }
    }
}

最后,在共享代码中调用DependencyService获取屏幕尺寸:

代码语言:txt
复制
var screenSizeService = DependencyService.Get<IScreenSizeService>();
var screenSize = screenSizeService.GetScreenSize();
var screenWidth = screenSize.Width;
var screenHeight = screenSize.Height;

这样就可以在C#(Xamarin跨平台App)中获取屏幕尺寸了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

什么是Xamarin

利用 Xamarin 我们可以管理不同平台 APP 的共享代码与基础平台代码的通信,并且 Xamarin 上开发的 APP 是在托管环境运行的,也就是说它会帮助我们来管理内存分配、垃圾回收等事情。...Xamarin 可以让开发人员平台共享应用程序的代码,这样就可以使用一种编程语言开发所有平台App 。 Tip:编译、部署 IOS 应用程序必须在 MacOS 种进行。...零、原理 Xamarin 可以在每个平台上创建本机 UI ,并在 C# 里编写平台的共享业务逻辑。...充分利用 C# 语言的优势: Xamarin 使用 C# 编写 App ,可以充分利用 C# 的并行编程、泛型以及功能性构造等。...移动平台支持: Xamarin 对 iOS、Android 和 Windows 这三个主要平台提供复杂的平台支持,并且可以在这三个平台共享百分之九十的代码。

4.4K10

C# Xamarin移动开发基础进修篇

在Objective-C,Swift或Java你可以做的任何事情,你都可以在C#完成。 1)、本次分享课程适合人群如下: 1、 热爱Xamarin平台移动开发。...具体见:http://xamarin.com/how-it-works 2.3、Xamarin Studio介绍 Xamarin Studio是一个用C#语言开发平台应用的集成开发环境,它和iOS...微软终于收购了平台移动开发公司Xamarin。至于收购金额并未得到公布。...早期VS2015+Xamarin Studio环境配置教程: C#移动平台开发(1)环境准备 Xamarin.Android 入门之:Xamarin+vs2015 环境搭建 ?...到时候在《C# Xamarin移动开发项目实战篇》课程,阿笨将自己的实际项目经验毫无保留的分享给大家。快速通过Xamarin打造一个Android适合于后端管理系统App应用程序。

6K20
  • 开发者视角下的平台技术选型

    是一个支持平台的框架,包括Web,iOS和Android。...官方文档给了我们Cordova的定义:“Apache Cordova是一个开源移动开发框架,它允许您使用标准的Web技术,HTML5,CSS3和JavaScript进行平台开发,避免每个移动平台本机开发语言...Windows PC和linux平台的兼容支持官方正在持续研发。...宿主环境结合方面小程序是基于App端实现的应用,其获取系统(App)的权限也会多于H5;目前小程序技术的发展已经趋于成熟,市面上小程序以运行时已经开始出现多智能终端设备的适配(基于Andriod系统的多终端屏幕适配...FinClip 的技术方案,目的就是要让任何行业的任何企业,均可以拥有自主打造小程序生态、发布管理小程序内容、在自己的各终端App运行小程序的能力。

    1.2K20

    移动开发下Xamarin VS PhoneGap

    幸运的是,有很多公司已经在研究如何使原生APP的开发变得简单,目前为止多平台的开发方法主要有两种:第一种方法就是以Web 应用为内核,填充到原生app(PhoneGap提供的解决方案)。...第二种方法就是使用平台的开发工具,这种工具提供一种通用语言开发原生AppXamarin 提供的解决方案)。...随着两大平台的流行,很多控件厂商也开发出支持这两种平台的工具,为PhoneGap 提供的Wijmo 5,为 Xamarin.Forms提供的Xuni 等,从而使移动开发更加快速高效,当然尽管有很多工具支持这两种平台...Xamarin提供了高效的性能,提升了代码的复用,可以充分利用C#语言和.Net 平台的优势。...Xamarin -- 借助 Xuni (本地化、平台移动控件集),使用本地编程技术,可以在 IOS、Android 和Xamarin平台上使用相同的 API。

    3.4K80

    dotnet Multi-platform App UI 多平台应用 UI 框架简介

    在 .NET 5 微软统一了整个 .NET 平台,将 .NET Core 和 Mono 以及基于 Mono 的 Xamarin 放在一起,于是就可以使用相同的一个 BCL 基础库和 SDK 工具链 当咱在考虑如何在...很多年以来,都有很多商业公司,这个链接 https://dotnet.microsoft.com/apps/xamarin/customers 列举出来的公司,都在使用 Xamarin 用 .NET...每个平台和UI控件的本机功能都可以通过一个简单的平台API触手可及,您可以在提供不妥协的用户体验的同时共享比以前更多的代码 单一项目开发体验 .NET MAUI 的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和平台工具...无论是使用哪个版本的 IDE Visual Studio 2019,Visual Studio for Mac甚至是 Visual Studio Code 工具,.NET MAUI 将在所有这些版本可用...这将是合并 XamarinXamarin.Forms 到 .NET 核心中的漫长旅程的开始,微软很高兴与您一起开放的进行开发 大佬的翻译博客:[翻译] .NET 官宣平台 UI 框架 MAUI

    5.2K20

    国内 Mono 相关文章汇总

    Xamarin的客户,还包括一些知名的企业,美国国家仪器(National Instruments)和数字音乐订阅服务商Rdio等”。...:基于Mono平台开发框架 Xamarin向iOS和Android引入C# Async支持 我有罪啊,我用了一下午时间,终于无师自学,用C#开发了俺的第一个Android 浏览器APP,我对不起java...开发初体验 在Ubuntu搭建.NET开发环境 我正在使用Xamarin平台框架—Xamarin.Android回忆录 Xamarin.Android快速入门 MONO x64 amd_x64 Xamarin.Android...多界面 Xamarin.Android活动的生命周期 Xamarin.Android下获取与解析JSON APP并非一个人在战斗,还有API—Xamarin.Android回忆录 Xamarin.Android...Android实现下拉刷新功能 微软开放.NET框架源代码和Mono C#移动平台开发(2)Xamarin移动平台解决方案是如何工作的?

    11.2K60

    Xamarin 技术全解析

    Xamarin 是一套基于C#语言的平台移动应用开发工具,今年2月份微软宣布收购Xamarin,而后在4月份进行的Build大会上微软宣布将会在各个版本的Visual Studio免费提供Xamarin...本文主要阐述Xamarin是什么,它能做什么以及它是如何平台的。  1. 什么是Xamarin Xamarin 是一个平台的移动开发工具,由 Mono 发展而来。...Xamarin平台开发思路是:使用 C# 来完成所有平台共用的,和平台无关的 app 逻辑部分;由于各个平台的 UI 和交互不同,再使用由 Xamarin 封装好的 C# API 来访问和操控 native...使用Xamarin.Forms构建平台应用的一个缺陷就是只能使用Xamarin.Forms包的控件,会有一些限制。...3.3 Xamarin.Forms实现原理 在Xamarin Studio构建Xamarin.Forms平台的应用的时候,会生成Android以及iOS单独的项目工程,两者共享业务逻辑以及一些UI界面

    5.9K70

    Xamarin.Forms入门-使用 Xamarin.Forms 来创建平台的用户界面

    Xamarin.Forms 是一个平台的、基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面。...Xamarin.Forms 通过使用平台的原生控件来渲染用户界面,使用 Xamarin.Forms 的 App在外观上与平台完全一致。...通过本文您可以快速了解如何使用 Xamarin.Form 来进行应用程序的开发。 简介 Xamarin.Forms可以帮助开发人员快速的构建平台的UI,通过一次编码,生成多平台界面。...Xamarin的代码共享方案: ? 开发人员可以通过C#代码来直接构建Xamarin.Forms的UI,另外还可以通过 XAML 来构建,运行时的行为需要写在你另外一个对应的文件。...Xamarin.Forms每一个屏幕画面都有对应概念叫:Page,Xamarin.Forms.Page 在安卓与 Activity对应,在 iOS 与 ViewController对应,在Windows

    12.9K70

    译 | .NET Multi-platform App UI 多平台应用 UI 框架简介

    在 .NET 5 微软统一了整个 .NET 平台,将 .NET Core 和 Mono 以及基于 Mono 的 Xamarin 放在一起,于是就可以使用相同的一个 BCL 基础库和 SDK 工具链 当咱在考虑如何在...很多年以来,都有很多商业公司,这个链接 https://dotnet.microsoft.com/apps/xamarin/customers 列举出来的公司,都在使用 Xamarin 用 .NET....NET 开发人员的技术选择,提供了一个技术栈来支持所有现代工作开发:Android,iOS,macOS和Windows平台的开发。...每个平台和UI控件的本机功能都可以通过一个简单的平台API触手可及,您可以在提供不妥协的用户体验的同时共享比以前更多的代码 单一项目开发体验 .NET MAUI 的构建考虑了开发人员的生产力,包括开发人员需要的项目系统和平台工具...无论是使用哪个版本的 IDE Visual Studio 2019,Visual Studio for Mac甚至是 Visual Studio Code 工具,.NET MAUI 将在所有这些版本可用

    4.8K10

    .NET MAUI:平台应用开发的全方位指南

    .NET MAUI:平台应用开发的全方位指南随着技术的不断发展和移动设备的普及,应用程序开发者面临着一个挑战:如何在不同的设备和操作系统上提供一致的用户体验?...平台开发成为了解决这一挑战的关键技术之一,而微软推出的 .NET MAUI(Multi-platform App UI)就是其中的一个重要工具。...NET MAUI 是微软继 Xamarin.Forms 之后推出的新一代平台应用开发框架,目标是通过一套代码库支持 iOS、Android、Windows 和 macOS 四大平台。...相比于 Xamarin.Forms,.NET MAUI 具备以下优势:统一的项目结构:简化了平台项目的管理,不再需要为每个平台维护多个项目文件。...微软还计划在未来的更新,进一步提升 MAUI 的功能,更好的性能支持、更广泛的平台支持,以及与其他 .NET 技术的更紧密集成。

    98510

    平台应用框架_安卓前端框架

    再加上人们越来越渴望从掌上设备获取海量的信息,也就为之所以移动应用程序会如此受到欢迎提供了合理的解释。...2020年还有哪些平台移动开发框架值得考虑 虽然平台的移动APP开发有利有弊。但从业务初创的角度来看,优点应该是大于缺点的。...从技术上讲,要用Xamarin构建平台的移动应用,需要很好地掌握.NET和C#两种技术,前者是使用多种语言(包括C#编程语言)、编辑器和库的开发平台。...Xamarin用一组工具补充了上述平台,这些工具有助于构建平台应用程序,例如库、编辑器扩展和XAML。第二种技术是C#,这是一种面向对象的编程语言,它被认为比JavaScript学习起来稍难。...如果您对开发效率和交付周期有更高的要求,也可以尝试支持多平台移动端的低代码开发技术,支持Android、iOS、微信、钉钉的 活字格企业级低代码开发平台,其中Android和iOS基于Xamarin

    2.6K20

    C#移动平台开发(2)Xamarin移动平台解决方案是如何工作的?

    概述   上一篇 C#移动平台开发(1)环境准备发布之后不久,无独有偶,微软宣布了开放.NET框架源代码并且会为Windows、Mac和Linux开发一个核心运行时(Core CLR),这也是开源的!...那个Dalvik虚拟机实体就像一个宿主,我们的APP在宿主上运行,而我们所有用C#写的方法都会以ACW的形式被调用。...在Java代码以native的式式invoke,就像invoke其它C或者C++的代码一样。   Momodroid.exe 在编译阶段会为我们的C#类生成对应的ACW。...小结   这仅仅是一个粗略的介绍,Xamarin移动平台方案是如何来工作的,还有太多我们没有涉及。...就目前来看C#来开发IOS应用更具有优越性,我们要在VS开发Iphone的应用程序需要配一台Mac来做编译。

    2.6K110

    客户端软件GUI开发技术漫谈:原生与平台解决方案分析

    现在大多数程序员都是基于C#、Java进行开发,如果不是Apple死忠,根部不会花大力气研究 平台软件应用开发 直接元素开发肯定是最好的——这样的性能肯定最有保证,但是平台的主要优势在于代码逻辑的复用...具体包括  Web App层是开发人员编写代码的主要地方,应用程序以网页的形式呈现,在一个index.html的本地页面文件引用所需要的各种Web资源,CSS、JavaScript、图像、影音文件等...Xamarin 是一个抽象层,可管理共享代码与基础平台代码的通信。 Xamarin 在提供便利(内存分配和垃圾回收)的托管环境运行。...Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。 Xamarin 适用于具有以下目标的开发人员: 平台共享代码、测试和业务逻辑。...使用 Visual Studio 在 C# 编写平台应用程序。  Xamarin 允许在每个平台上创建本机 UI,并在 C# 编写平台共享的业务逻辑。

    14.5K30

    Xamarin 2.0:基于Mono平台开发框架

    平台移动开发框架Xamarin今天发布了最新的2.0版本,新增Xamarin Studio集成开发环境以及 Xamarin Component Store在线插件商店。...作为一个平台开发框架,在这一框架内,开发 Android 和 iOS 应用可以不用转到 Eclipse 或者额外购买 Mac 并使用 Xcode,而继续在Visual Studio之中使用 C# 与...Store的插件能够和Xamarin Studio以及Visual Studio无缝整合,开发者能够更方便地将这些部件和功能加入到自己的App中去。...Xamarin.Mobile是该商店的组件之一,提供了访问iOS、Android和Windows Phone等平台公共特性(通讯录和相机等)的API。...Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与.NET框架的开源、平台实现。

    3.3K80

    .NET周报 【5月第3期 2023-05-21】

    本文讲述如何使用C#来实现视频会议系统的Linux服务端与Linux客户端,并让其支持国产操作系统(银河麒麟,统信UOS)和国产CPU(鲲鹏、龙芯、海光、兆芯、飞腾等)。...文章详细介绍了Cover Flow的交互设计和实现原理,以及如何使用.NET MAUI实现平台支持。...将指定的html和BlazorWebView绑定以后在对于html内的id为 app 的元素进行Blazor组件的绑定绑定到Blazor组件的 App 组件;以及如何在 MApp 中使用 Masa Blazor...C# 的“智能枚举”:如何在枚举增加行为 https://www.cnblogs.com/liqingwen/p/17407424.html 枚举的基本用法回顾 枚举常见的设计模式运用 介绍 智能枚举...它解释了 .NET 的事物如何在 Rust 中表示。

    29940

    Xamarin 学习笔记 - 配置环境(Windows & iOS)

    继微软收购Xamarin之后,对可以将C#开发与全功能的平台移动开发工具相结合,使用开发工具共享业务逻辑代码,以提供完全原生的应用程序的专业人士的需求日益增加,这一点自从2011年之后就一发不可收拾。...因此,Xamarin是开始开发平台应用程序的解决方案,它为你提供了本机代码输出的iOS,Android甚至是UWP的流畅用户界面。...itemName=Xamarin.XamarinAndroidSDKManager 创建一个平台Xamarin工程 你可以通过找到 文件-> 新建 -> Visual C# -> 平台 -> 平台应用程序开始一个新的...Visual Studio App Center(在Xamarin Test Cloud之前) 在创建新的应用程序和开发之后,开发人员在测试过程面临许多挑战,甚至他们必须通过持续集成交付,此时你需要一个允许你在许多设备中进行测试的环境...一旦发布并使用了应用程序,开发人员就想知道发生了什么并且在发生崩溃时易于维护,你可以从应用程序的字段获取崩溃报告的实时堆栈跟踪。

    6.2K20

    一个小项目是如何进行平台方案选型的

    App基本上就是一个Mobile Web,多了一些跟Native交互的能力。优点是好上手,写代码快。有丰富的插件去衔接Native平台、社区完善。...XamarinXamarin是Cordova的老对手,Xamarin的产品简化了针对多种平台的应用开发,包括iOS和 Android。...缺点:稍微延迟支持最新的平台更新、对开源库的访问受限、Xamarin生态系统不大、与第三方库和工具的兼容性问题等等FlutterFlutter是近两年风很大的一款开源、平台移动端开发框架,由 Google...Windows PC和linux平台的兼容支持官方正在持续研发。...图片宿主环境结合方面,小程序是基于App端实现的应用,其获取系统(App)的权限也会多于H5;目前小程序技术的发展已经趋于成熟,市面上小程序以运行时已经开始出现多智能终端设备的适配(基于Andriod系统的多终端屏幕适配

    97740

    小项目如何进行平台方案选型?

    App基本上就是一个Mobile Web,多了一些跟Native交互的能力。优点是好上手,写代码快。有丰富的插件去衔接Native平台、社区完善。...XamarinXamarin是Cordova的老对手,Xamarin的产品简化了针对多种平台的应用开发,包括iOS和 Android。...缺点:稍微延迟支持最新的平台更新、对开源库的访问受限、Xamarin生态系统不大、与第三方库和工具的兼容性问题等等FlutterFlutter是近两年风很大的一款开源、平台移动端开发框架,由 Google...Windows PC和linux平台的兼容支持官方正在持续研发。...宿主环境结合方面,小程序是基于App端实现的应用,其获取系统(App)的权限也会多于H5;目前小程序技术的发展已经趋于成熟,市面上小程序以运行时已经开始出现多智能终端设备的适配(基于Andriod系统的多终端屏幕适配

    1.2K10

    小项目从0到1之平台方案选型

    是近两年风很大的一款开源、平台移动端开发框架,由 Google 开发。...Windows PC和linux平台的兼容支持官方正在持续研发。...App基本上就是一个Mobile Web,多了一些跟Native交互的能力。优点是好上手,写代码快。有丰富的插件去衔接Native平台、社区完善。...XamarinXamarin是Cordova的老对手,Xamarin的产品简化了针对多种平台的应用开发,包括iOS和 Android。...宿主环境结合方面,小程序是基于App端实现的应用,其获取系统(App)的权限也会多于H5;目前小程序技术的发展已经趋于成熟,市面上小程序以运行时已经开始出现多智能终端设备的适配(基于Andriod系统的多终端屏幕适配

    97500
    领券