根据屏幕尺寸更改标签尺寸 xamarin 表单

2024-01-12

我正在使用 xamarin.forms 来做一个应用程序,我发现使用相同的大小来向 ios 设备发送字母是行不通的:在 7 plus 上它运行良好,但在 iphone 5 上它对于屏幕大小来说是一个大字母... 有人知道如何制作具有可缩放尺寸的字母,或者更改特定设备或屏幕尺寸类型的尺寸吗? 非常感谢。


您可以参考以下示例:

  1. 估计字体大小以保持视觉一致性 - (docs https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/summaries/chapter05/#Estimated_font_sizes | github https://github.com/xamarin/xamarin-forms-book-samples/blob/master/Chapter05/FontSizes/FontSizes/FontSizes/FontSizesPage.cs#L53)

    // Resolution in device-independent units per inch.
    double resolution = 160;
    
    // Do some numeric point sizes.
    int[] ptSizes = { 4, 6, 8, 10, 12 };
    
    // Select numeric point size you need from ptSize[] array 
    double ptSize = 4;
    
    // this is your new visually consistent font-size.
    var fontSize = resolution * ptSize / 72; 
    
  2. 将文本调整为可用大小 - (docs https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/summaries/chapter05/#Fitting_text_to_available_size | github https://github.com/xamarin/xamarin-forms-book-samples/blob/master/Chapter05/EstimatedFontSize/EstimatedFontSize/EstimatedFontSize/EstimatedFontSizePage.cs#L51)

    double lineHeight = Device.OnPlatform(1.2, 1.2, 1.3);//TODO: Change this to Device.RuntimePlatform
    double charWidth = 0.5;
    
    int charCount = text.Length;
    
    var view = this.Parent;
    // Because:
    //   lineCount = view.Height / (lineHeight * fontSize)
    //   charsPerLine = view.Width / (charWidth * fontSize)
    //   charCount = lineCount * charsPerLine
    // Hence, solving for fontSize:
    int fontSize = (int)Math.Sqrt(view.Width * view.Height /
                        (charCount * lineHeight * charWidth));
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据屏幕尺寸更改标签尺寸 xamarin 表单 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 当代码位于库中时,S4Vectors 出现 do.call 错误“第二个参数必须是列表”

    这是在另一个问题的背景下提出的一个问题 使用列名称向量提取数据框之类的对象的多列并将其粘贴在一起 https stackoverflow com questions 40789601 我收到了基于使用情况的答案do call当代码是库的一部
  • 如何更改将“editor.insertSpaces”设置为“auto”的每种语言配置

    我使用 VS Code 来编辑多种语言 主要是 Ruby PHP 和 Javascript 的项目 对于每种语言 我们有不同的缩进模型 空格 制表符和宽度 看起来 VS Code 支持这一点 因为它允许两者editor insertSpac
  • Android 模拟器与真实设备

    开发人员应该注意哪些差异 我知道这些限制 预装软件 真实设备可以比模拟器预装更多的应用程序 您无法在模拟器中使用 捕获 照片 视频功能 根据模拟器文档 http developer android com guide developing
  • 而是触发器或计算列?哪个更好?

    我想知道下面两种方法之间是否存在性能差异 基本上 问题是我们允许在 id 中使用空格和破折号 但某些遗留应用程序无法使用它们 因此它们被删除 据我所知 最简洁的方法是在触发器中或作为计算列 SQL 如下所示 已清理并匿名 因此如果出现错误
  • Django模型继承和管理系统

    我正在尝试构建一个系统来管理页面中各种类型的内容 例如 页面可以具有文本内容 超链接内容 视频内容等 在我的建模代码中 我有一个基类 class ContentItem models Model title models CharField
  • TypeError: 恰好需要 1 个参数(给定 2 个)Python 错误

    问题是我有这个功能 def fuerza repulsion x area 100 100 k math sqrt area len self grafo 0 return k 2 x c2 在这一行中 f mod self fuerza
  • 指定数据库时出现身份验证失败错误

    我正在尝试连接到mongodb来自我的网络应用程序 但是 我得到一个auth failed error当我指定要连接的数据库时 来自 mongo 如果我不指定数据库 则连接成功 我已经检查了拼写以及数据库是否使用 mongo 命令行退出sh
  • Pandas(python):列中的最大值定义新列中的新值

    我有一个大约有 50 列的 df Product ID Cat1 Cat2 Cat3 other columns 8937456 0 5 10 8497534 25 3 0 8754392 4 15 7 Cat 表示该产品有多少数量属于某个
  • 如何使用 RSA256 在 PHP 中创建有效的 JWT

    我也遇到过类似的困难question https stackoverflow com questions 35314629 how to sign data in php with hmac using a pem private key
  • 如何使用 dependency.yml 引用本地模块?

    如何使用引用本地模块依赖 yml 我想我会放弃这个问题 因为它定期在论坛中显示 答案应该如下 采用以下应用程序层次结构 myplayapp myfirstmodule mysecondmodule 我正在使用运行我的应用程序播放运行 myp
  • 如何通过引用分配lua变量

    如何在Lua中通过引用将一个变量分配给另一个变量 例如 想要执行相当于 a b 的操作 其中 a 将是指向 b 的指针 背景 有一个案例 我实际上有这样的事情 local a b c d e f g lots of variables if
  • 从容器重建 docker run 命令参数

    最好的重建方法是什么docker run来自现有 docker 容器的命令参数 我可以用docker inspect并使用在那里找到的信息 还有更好的办法吗 不是很容易 但是您可以通过格式化输出来做到这一点docker inspect 对于
  • C++ list::sort 的自定义比较函数

    您好 我在编译一段简单的代码时遇到问题 我正在创建一个实现一副纸牌的类 并且我想使用 list short 方法创建一个洗牌方法 相关代码 deck h ifndef DECK H define DECK H include
  • Git:配置 difftool 和 mergetool 的模式

    在 Mercurial 中 可以为外部差异和合并工具定义一种模式 以便仅针对与指定模式匹配的文件调用它们 diff patterns ext difftool merge patterns ext mergetool 如何在 Git 中定义
  • HasDbFunction,没有映射实体类的表值函数

    到目前为止我发现的所有内容 如果您调用表值函数 则返回值必须是 IQueryable 例如 public IQueryable
  • 使用 Scapy 与 C 套接字对话

    我有一个 UDP 连接并在端口 localhost 上侦听 并且我也尝试从 localhost 发送 Scapy 数据包 由于某种原因 我的 C 代码从未真正捕获数据包 但我可以很好地看到数据包显示在 Wireshark 中 我已经有一段时
  • 浮点计算使用 float 给出的结果与使用 double 给出的结果不同

    我有以下代码行 hero gt onBeingHit ENEMY ATTACK POINT 1 0 hero gt getDefensePercent void onBeingHit int decHP 方法接受整数并更新健康点 float
  • WPF ListView 在处理大数据时性能非常差

    我在 WPF 中使用 ListView 时遇到性能非常差的情况 使用大约 30000 条记录 据我所知 虚拟化应该打开 因为这是默认设置 我什至在 XAML 中显式打开它 表现不佳的表现是这样的 初始绑定非常慢 几分钟 滚动速度非常慢 超过
  • 单击将中止进一步执行,因为 Python 3 被配置为使用 ASCII 作为环境编码

    我将 Quokka Python Flask CMS 下载到 CentOS7 服务器上 通过命令一切正常 sudo python3 manage py runserver host 0 0 0 0 port 80 然后我创建一个文件 etc
  • 根据屏幕尺寸更改标签尺寸 xamarin 表单

    我正在使用 xamarin forms 来做一个应用程序 我发现使用相同的大小来向 ios 设备发送字母是行不通的 在 7 plus 上它运行良好 但在 iphone 5 上它对于屏幕大小来说是一个大字母 有人知道如何制作具有可缩放尺寸的字