我试图允许 Xamarin.Forms WebView 中的 HTML 字体大小根据用户的可访问性大文本设置增加/减少大小。
我想做以下事情:
1:从 iOS 和 Android 的辅助功能大文本选项中获取文本选项(标题、正文、标题等)的首选字体大小。
2:获取一些 HTML 文本的默认大小(h1 可以是 15px,h2 可以是 13px,h3 可以是 11px,p 可以是 7px,等等)并使用它与正确的文本选项(h1 <-> 标题,p <-> body) 来计算该 HTML 元素的新字体大小。
我找到了一些关于如何获取一些字体大小的iOS、Android/iOS和Xamarin.Forms 的链接,但我不知道如何获取这些大小,将这些文本选项的大小转换为一些默认 HTML 的大小元素(H1,H2,P)并进行数学计算以计算CSS的新字体大小。
有人可以通过制定某种关于我如何做到这一点的计划来帮助我吗?或者有人可以通过给我一个链接来帮助我,由于无障碍大文本,我如何获得字体大小与某个默认值相比有多大的百分比?
谢谢!
我已经想通了:
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
要使用 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] 删除。
我来说两句