如何在 Xamarin.Forms 中获取 iOS 和 Android 的辅助功能字体大小,以便我可以在 HTML WebView 中更改字体大小?

S.十布林克

我试图允许 Xamarin.Forms WebView 中的 HTML 字体大小根据用户的可访问性大文本设置增加/减少大小。

我想做以下事情:

1:从 iOS 和 Android 的辅助功能大文本选项中获取文本选项(标题、正文、标题等)的首选字体大小。

2:获取一些 HTML 文本的默认大小(h1 可以是 15px,h2 可以是 13px,h3 可以是 11px,p 可以是 7px,等等)并使用它与正确的文本选项(h1 <-> 标题,p <-> body) 来计算该 HTML 元素的新字体大小。

我找到了一些关于如何获取一些字体大小的iOSAndroid/iOSXamarin.Forms 的链接,但我不知道如何获取这些大小,将这些文本选项的大小转换为一些默认 HTML 的大小元素(H1,H2,P)并进行数学计算以计算CSS的新字体大小。

有人可以通过制定某种关于我如何做到这一点的计划来帮助我吗?或者有人可以通过给我一个链接来帮助我,由于无障碍大文本,我如何获得字体大小与某个默认值相比有多大的百分比?

谢谢!

S.十布林克

我已经想通了:

Android 会根据辅助功能设置自动更改 HTML 文本大小。无需工作!

iOS 允许开发人员实现多个 CSS 类,以使 WebView 将其文本大小更改为 iOS 设备上的辅助功能设置。请点击这里了解更多

这些是类:

-apple-system-headline -apple-system-subheadline -apple-system-short-headline -apple-system-short-subheadline -apple-system-body -apple-system-short-body -apple-system-tall-body -apple-system-caption1 -apple-system-caption2 -apple-system-short-caption1 -apple-system-footnote -apple-system-short-footnote

在您的iOS设备上访问此网站以查看类的外观

要使用 Apple 的预定义字体:p {font: -apple-system-body}

使用你自己的字体:(你也可以创建你自己的字体系列,@font-face并引用它而不是 Arial!)

p {
    font: -apple-system-body;
    font-family: Arial, sans-serif;
    font-weight: normal;
}

您可以使用以下属性:

font-family
font-weight
font-style
font-variant`

要使用您自己的字体大小:

p {
  font: -apple-system-body;
  font-family: Arial, sans-serif;
  font-weight: normal;
}
.body-text-size {
    font-size: 1.1em;
}
<p><span class="body-text-size>This is some text in my page.</span></p>

希望能帮助到你!

2020 年 4 月更新:我注意到我的一个预览链接已失效。我通过找到另一个托管该文件的存储库来修复它。我已经链接了那个,以防我的链接再次失效,我已将它们添加到网络存档中,以便您可以在那里找到它们!:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章