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

标签 android html ios css xamarin

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

我想做以下事情:

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

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

我找到了 iOS 的一些链接, Android/iOSXamarin.Forms关于如何获得一些字体大小但我无法弄清楚如何获得这些大小,将这些文本选项的大小转换为一些默认 HTML 元素(H1,H2,P)的大小并进行数学计算CSS 的新字体大小。

有人可以帮我想出一些关于我如何做的计划吗?或者有人可以通过给我一个链接来帮助我,告诉我如何通过可访问性大文本获得字体大小与某个默认值相比有多大的百分比吗?

谢谢!

最佳答案

我想通了:

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

iOS 允许开发人员实现多个 CSS 类来更改 WebView 它是 iOS 设备上辅助功能设置的文本大小。 Click here to find out more

这些是类:

-apple-system-headline -苹果系统副标题 -苹果系统短标题 -苹果系统短副标题 -苹果系统主体 -苹果系统短体 -apple-system-tall-body -apple-system-caption1 -apple-system-caption2 -apple-system-short-caption1 -苹果系统脚注 -apple-system-short-footnote

Go to this website on your iOS device to see what the classes look like

要使用 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>

希望对您有所帮助!

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

关于android - 如何在 Xamarin.Forms 中获取 iOS 和 Android 的辅助功能字体大小,以便我可以在 HTML WebView 中更改字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42955105/

相关文章:

java - Eclipse和intelliJ android SDK问题

android - 如何在 Android 应用程序中请求照片/媒体/文件权限

javascript - Fabric JS : Set Image positioning with coordinates (x, y)

iphone - 如何动态调整 UITableView 单元格的高度

ios - AVSpeechSynthesizer 语音到音频文件

iphone - 了解 iOS 设备是否具有蜂窝数据功能

Android - 如何使用 SQLite 缓存 Json

android: Project.Properties - 不要编辑,你的更改会被删除吗?

html - 文本对齐 :center on only images in a table?

html - Iframe 在验证时显示错误?