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

Xamarin表单-获取命名大小在Android上不能很好地工作

Xamarin表单是一种跨平台移动应用开发框架,它允许开发人员使用C#语言和.NET平台来构建iOS和Android应用程序。在Xamarin表单中,开发人员可以使用XAML语言来定义用户界面,并使用C#来编写业务逻辑。

在Android上,Xamarin表单中的命名大小可能无法很好地工作。这是因为Android的字体大小是以像素为单位进行定义的,而Xamarin表单默认使用的是设备独立像素(dp)单位。因此,在某些情况下,当使用命名大小时,字体可能会显示得比预期的要小或大。

为了解决这个问题,开发人员可以通过以下几种方式来调整字体大小:

  1. 使用设备独立像素(dp)单位:在Xamarin表单中,可以使用NamedSize枚举来定义命名大小,例如NamedSize.Medium。然后,可以将这个命名大小与Device.GetNamedSize方法结合使用,以获取设备独立像素单位的字体大小。例如,double fontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label));。然后,可以将这个字体大小应用于相应的控件。
  2. 使用自定义字体大小:开发人员可以根据具体需求,使用自定义的字体大小来替代命名大小。可以通过在XAML中直接设置FontSize属性,或者在C#代码中动态设置控件的FontSize属性来实现。
  3. 使用平台特定代码:如果在特定平台上需要更精确地控制字体大小,开发人员可以使用平台特定代码来实现。在Xamarin表单中,可以使用Device.RuntimePlatform属性来判断当前运行的平台,并根据需要设置字体大小。

总结起来,尽管在Android上使用命名大小可能会遇到一些问题,但开发人员可以通过使用设备独立像素单位、自定义字体大小或平台特定代码来解决这个问题。腾讯云提供了丰富的云计算产品和服务,如云服务器、云数据库、云存储等,可以帮助开发人员构建稳定、可靠的移动应用。具体产品和服务的介绍和链接地址可以在腾讯云官方网站上找到。

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

相关·内容

2018年Web开发人员应该学习的12个框架

传统,JavaScript被用作客户端脚本语言,它与HTML一起用于客户端提供动态行为。它在Web浏览器运行,但Node.js允许你服务器端运行JavaScript。...Bootstrap支持响应式网页设计,这意味着网页布局会根据浏览器的屏幕大小进行动态调整。 移动世界中,BootStrap凭借其移动优先设计理念引领潮流,默认情况下强调响应式设计。...Apache Spark是一种快速的内存数据处理引擎,具有优雅且富有表现力的开发API,允许数据工作者有效执行需要快速迭代访问数据集的流,机器学习或SQL工作负载。...你可以选择Firebase作为Android或iOS应用程序的后端。...如果你已经了解C语言之一并且正在寻找移动应用程序开发的职业,那么我强烈建议你2018年学习Xamarin,以及完整的Xamarin开发人员课程:iOS和Android!是一个很好的课程开始。

5.5K40

.NET 8 中 Android 资源生成的改进和变化

为了从 C# 访问此数据,我们需要一种代码中公开这些数据的方法。这是由项目 $(RootNamespace) 中的 Resource 类处理的。我们从 R.txt 中获取值并将它们公开在这个类中。...旧系统存在一些影响应用程序大小和启动性能的问题。旧系统中,每个 Android 程序集都有自己的一组Resource类。所以我们实际上到处都有重复的代码。...这是使现有代码能够正常工作的纽带 。因为Resource类的命名空间不会改变。...但是,如果您遇到问题,请在 https://github.com/xamarin/xamarin-android/issues/new/choose 提交问题。...而是构建时会生成一个 .aar 文件,其中包含这些数据,并命名为与程序集相同的名称。为了正常工作,需要将.aar 文件与程序集一起发送到 NuGet 中。

19910

采访Philipp Crocoll:安卓平台上整合Java和C#

Keepass2Android不仅具有强大的密码存储的功能,还是一个单独的安卓应用同时使用Java和C#的很好的案例。...由于Keepass 2是用C#写的,我评估了安卓用此实现的可能性。这是我第一次接触Xamarin的安卓版Mono。我早期的工作中曾经做过一些C#开发,也有过一点安卓开发经验。...Xamarin团队已经围绕两种语言的融合做了很多工作,包括.net项目中创建一个绑定库,使得Java库可以被引用。这会生产一些C#类和接口,这些接口可以用于调用Java代码。...另一个原因,是安卓版Mono的可移植性,借助它,代码可以运行在Android、iOS(它们使用Xamarin,当然还可以运行在Windows和Linux(使用Mono) 。...Keepass2Android可以CodePlex中获取,GPLv3 license。

1.7K80

.NET MAUI 性能提升(

应用程序的大小也是如此——一个空白的.NET MAUI应用程序中存在什么开销?当我们开始优化.NET MAUI时,很明显iOS需要做一些工作来改善应用程序的大小,而android则缺乏启动性能。...同样,之前的预览中.NET MAUIandroid的启动时间也不是很理想: 应用程序 框架 启动时间(ms) Xamarin.Android Xamarin 306.5 Xamarin.Forms...这是一个很好的方法来诊断修剪器/链接器问题。 查看xamarin-android#6311了解关于这个改进的详细信息。...Andorid.Views.LayoutInflater.Inflate 回顾堆栈跟踪,时间实际花在了android/Java扩展布局,而在.NET端没有任何工作发生。...通过这一改变,我们看到dotnet new maui android应用程序的启动时间减少了5-10%。iOS,它减少了相同应用程序的大小,从19.2 MB => 18.0 MB。

8.4K20

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

这个loadUrl实际就是加载webapp的启动页(默认是index.html)。 IOS具体参看《Cordova 工作原理(IOS篇)》,这里关于原理这是简介。...Xamarin.Android被编译成中间语言,XamarinAPK安装包中会包含一个mono(跨平台的.NET运行环境),代码是mono运行时和安卓本地的运行时完成工作的。...Xamarin最为关键的技术Xamarin.Forms,把IOS、android、UWP等平台的GUI进行了一统抽象,开发者只需要写一套代码,编译器会在编译时将界面映射到原先控件,从而获得原生平台的外观和性能... Android,v8的 Native Binding可以很好实现,但是 iOS的 JavaScriptCore不可以,所以如果使用 JavaScript,Flutter 基础框架的代码模式就很难统一了...而 Dart的 Native Binding可以很好通过 Dart Lib实现。 Fuchsia [ˈfjuːʃə] OS内置的应用浏览器就是使用 Dart语言作为 App的开发语言。

14.4K30

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

再加上人们越来越渴望从掌上设备中获取海量的信息,也就为之所以移动应用程序会如此受到欢迎提供了合理的解释。...渐进式Web应用程序(PWA) 其中一个能解决问题的例子是渐进式 Web 应用(PWA),它基本是模仿原生应用程序行为的一个网站(例如,发送推送通知、脱机工作,或者只是添加到移动设备的主屏幕)。...虽然这些组件不能在不同的平台之间共享,并且需要开发人员做更多的工作,但多达90%的React Native代码是可以重用的。...从技术讲,要用Xamarin构建跨平台的移动应用,需要很好掌握.NET和C#两种技术,前者是使用多种语言(包括C#编程语言)、编辑器和库的开发平台。...Xamarin.Native和Xamarin.Forms Xamarin与其他框架的不同之处在于,它提供了两种编译跨平台移动应用的方式:Xamarin Native(也称为Xamarin.Android

2.6K20

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

你可以一个Portable工程里面通过XAML加上C#或者使用Xamarin.AndroidXamarin.iOS构建表单,在这种情况下,我们需要用到特定的本地环境,比如说通过C#代码操纵iOS的Storyboard...有一些功能仅在物理设备能够正常工作。 仿真器和XCode一起安装。...,也就是安装在你iOS或者Android设备Xamarin Live Player应用程序。...而我们尝试安装GenyMotion作为Android的仿真器,但是它依赖的是Visual Box。Hyper-v和Virtual Box无法工作同一台机器。...甚至有可能有某种方式让它们一起工作,GenyMotion允许你获取更多的设备(针对许多个人用途),但是正如我之前提到过的那样,它需要特殊的配置(更多细节请参见:https://docs.genymotion.com

6.1K20

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

一句话:Mono一个致力于开创.NETLinux使用的开源工程。它包含了一个C#语言的编译器,能够使得开发人员Linux用C#开发程序。...大家时间都是宝贵的,把有限的时间投入到无限的工作中上。这里阿笨不陪大家折腾了,我们直接上真机真环境开启我们的Xamarin For Android移动开发之旅。...一句话说白了就是可以电脑实时的监控我们的手机屏幕。...assets文件夹下面的原生资源文件,放在这个文件夹下面的文件不会被R文件编译,所以不能像第一种那样直接使用.Android提供了一个工具类,方便我们操作获取assets文件下的文件:AssetManager...这种键值的形式传递数据,区分大小写,注意!

6K20

Xamarin 社区工具包的现状和未来

如果你使用过 Xamarin.Forms,你可能知道至少有一个转换器是你每个项目中都需要的。但你没有把它封装在一个库中,因为它太小了,你一次又一次复制和粘贴它。...将这些东西集中工具包中,我们会让维护工作变得更容易,你只需把它放入这个库,这个库可以为你提供 Xamarin.Forms 的一站式服务。我们希望能在.NET MAUI 继续这样做。...实际,这意味着我们将确保 XCT 可以继续使用 Xamarin.Forms,并且可以用于 iOS、Android 和 UWP 的新版本,但不会增加新特性。...特别是 Android ,不同的控件存在于不同的 Android 包中。把所有东西都放在一个库里意味着人们会有大量他们可能永远都不会使用的依赖。...你可以 Xamarin.AndroidXamarin.iOS 项目中使用 Essentials 的所有 API,如果你想那样做的话。

2.7K20

Xamarin 社区团队发布了的两个新的工具包 MAUI 兼容版本

, Android, GTK#, Tizen, UWP, WPF (Same as Xamarin.Forms) iOS, Android, Windows (in progress), macOS (...这些库确保你可以 .NET MAUI 应用程序中访问 Xamarin.CommunityToolkit 的所有功能,而不会破坏更改,从而帮助你更轻松迁移到 .NET MAUI。...: using Xamarin.CommunityToolkit.Markup; 您的 C# 页面中,添加在您的 XAML 页面中,添加命名空间属性: xmlns:xct="http://xamarin.com...我们有一个 标记应该有效 该包应该可以正常工作,因为它不依赖于渲染器。我们确实使它与所有当前的 .NET MAUI 更改和命名空间兼容,因此您可以像以前一样继续享受标记扩展。...>netstandard2.1 net6.0-ios;net6.0-android 更新命名空间

2.2K10

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

日常工作中,我们一定遇见过这些问题或者疑惑。 Singleton服务为什么不能依赖Scoped服务? 多个构造函数的选择机制? 源码是如何识别循环依赖的?...-Blazor - Blazor 组件的流式渲染 - 处理 Blazor SSR 表单提交 - 路由到 Blazor 中的命名元素 - 用于 Blazor WebAssembly 应用程序的 Webcli...【英文】Xamarin.Forms 和 Essentials 现在以 Android 13(预览版)为目标 - Xamarin 博客 https://devblogs.microsoft.com/xamarin.../xamarin-forms-essentials-target-android13-preview/ Xamarin.Forms 和 Essentials 现在可以面向 Android 13(预览版)....NET 和 .NET MAUI 已经支持 Android 13。 【英文】 Build 2023 为 Visual Studio 做好准备:加入数以万计的在线人群!

25640

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

这个版本带来四个新功能: 1、新的IDE——Xamarin Studio,Xamarin的CEO Nat Friedman表示,该IDE与iOS和Android SDK紧密集成,便于开发者模拟器和真实的设备构建...3、Visual Studio 中开发 iOS 应用程序:可以Windows通过Visual Studio开发ios应用,可以使用Visual Studio的所有开发工具,包括TFS。...这样Android,IOS和Windows之间共享代码就更容易了。XamarinAndroid开发插件已经存在了好多年,现在又提供了支持iOS的插件。...该插件可以很好与微软的生态系统集成,可以Mac OS机器的仿真器上进行远程调试和测试。Mac OS,因为iOS的现有限制,面向iOS的C#代码会通过AOT编译技术直接编译为ARM汇编代码。...关于Xamarin Xamarin始创于2011年,旨在使移动开发变得难以置信迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS和Android

3.2K80

2020年了,跨平台开发框架现在怎样了?

再加上人们越来越渴望从掌上设备中获取海量的信息,也就为之所以移动应用程序会如此受到欢迎提供了合理的解释。...渐进式Web应用程序(PWA) 其中一个能解决问题的例子是渐进式 Web 应用(PWA),它基本是模仿原生应用程序行为的一个网站(例如,发送推送通知、脱机工作,或者只是添加到移动设备的主屏幕)。...虽然这些组件不能在不同的平台之间共享,并且需要开发人员做更多的工作,但多达90%的React Native代码是可以重用的。...从技术讲,要用Xamarin构建跨平台的移动应用,需要很好掌握.NET和C#两种技术,前者是使用多种语言(包括C#编程语言)、编辑器和库的开发平台。...Xamarin.Native和Xamarin.Forms Xamarin与其他框架的不同之处在于,它提供了两种编译跨平台移动应用的方式:Xamarin Native(也称为Xamarin.Android

2.4K20

笔记 | Xamarin

使用的时候,ScrollView要求父容器给它分配固定的大小,同时子元素并且有固定的大小。这样,ScrollView才能根据各自大小计算滚动量。...版本自动更新(针对android) - sxsean - 博客园 XamarinAndroid获取当前版本号-Android-CSDN问答 C#使用Xamarin开发可移植移动应用终章(11.获取设备信息与常用组件...> 下拉刷新,拉加载 参考: Xamarin Android 打造属于自己的博客园APP(3) - IT胡小帅 - 博客园 Xamarin.Forms菜鸟笔记--3.ListView拉加载更多_半块菠萝的博客...Android 清单包含 android:debuggable 属性,该属性控制是否可以调试应用程序。 将 android:debuggable 属性设置为 false 被视为一种很好的做法。...Android & iOS Apps with Xamarin | .NET C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 - 程序员大本营 本文作者: yiyun

23.9K20

2018 年 Java,Web 和移动开发需要学习的 12 个框架

传统,JavaScript被用作客户端脚本语言,与HTML一起使用来提供客户端上的动态行为。它运行在Web浏览器,但是Node.js允许你服务器端运行JavaScript。...Bootstrap支持响应式Web设计,这意味着web页面布局可以根据浏览器的屏幕大小动态调整。移动领域中,BootStrap以其移动优先的设计理念引领潮流,着重于默认情况下的响应式设计。...Apache Spark是一个快速的内存数据处理引擎,具有优雅和善于表达的开发API,使数据工作者能够高效执行流、机器学习或需要快速迭代访问数据集的SQL工作负载。...Adobe Systems2011年收购了Nitobi,将其重新命名为PhoneGap,后来又发布了一个名为Apache Cordova的开源软件。...如果你已经掌握C语言中的一种,并且正想涉足移动app开发的领域,那么我强烈建议你2018年学习Xamarin。 这就是2018年要学的东西。

3.2K60

C# WPF MVVM开发框架Caliburn.Micro关于关于Actions⑤

通过这些功能,您可以方便访问常见的上下文信息: $eventArgs 将EventArgs或输入参数传递给操作。注意:对于保护方法,这将是null,因为触发器实际没有发生。...Forms 对于Xamarin表单,只有$this参数起作用,这是因为Xamarin表单中遍历可视化树有点不同。...就我个人而言,我只最简单的场景中使用参数。他们为我工作很好的一个地方是登录表单。如前所述,另一个场景是主/细节操作。 现在,你想看看真正邪恶的东西吗?...我们将在将来更多讨论约定,但是您应该很高兴知道这些约定不区分大小写,甚至可以检测前面提到的“特殊”值。...如果您主要在Xaml编辑器中工作,而不是设计器中工作,那么您会喜欢Message.Attach。请注意,Message.Attach声明都没有指定应该发送消息的事件。

2.1K20

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

大家注意第2点和第7点有助于我们理解Xamarin.Android工作机制。 Xamarin.Android 架构 ?   ...Java编写的Android应用程序通过调用 Android.* 和 Java.* 这些命名空间下的类来实现一些系统的功能包括:声音、显示、OpenGl等一些通过Java API不能实现的功能或者说是与硬件...并且Xamarin团队保证每一个IOS系统更新的时间同步更新Xamarin.IOS这样我们就不用担心被滞后了。...小结   这仅仅是一个粗略的介绍,Xamarin移动跨平台方案是如何来工作的,还有太多我们没有涉及。...,当然Xamarin.Forms不能够满足你的要求的时候,可以使用Xamarin.AndroidXamarin.IOS的UI控件,这些也是Native的,也就是说UI方面不会有性能的影响。

2.6K110

使用Flutter完成10个商业项目后的经验教训

自2018年7月LeanCode开始Flutter开发我们的第一个商业应用程序以来,到现在已经有两年了,当我第一次了解Flutter时,尽管它很有前景,但我仍然持怀疑态度,主要是因为我们最近对Xamarin...这远远低于我们的Xamarin应用程序的平均大小25MB,甚至低于我们的React Native 32MB应用程序的平均大小,但非常接近Flutter的平均值11MB,所有Flutter应用程序的范围为...这意味着客户决定签署整个项目的合同之前,我们可以构建最小的应用程序,以回答最关键的业务或技术问题。在这一点,我们不能高估Flutter的功能。...但是,与开发人员具有C#背景的Xamarin相比,情况有所不同,Flutter的情况下,所有候选人都是已经从本地(主要是Android)背景转移的移动开发人员。...我们惊讶注意到,经过9个星期的培训,开发人员准备与他们的同事并肩工作,他们从早期就开始Flutter中进行编码。

2.7K20
领券