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

时间:2017-03-22 14:50:24

标签: 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元素的新字体大小。

我找到了iOSAndroid/iOSXamarin.Forms关于如何获取某些字体大小的链接,但我无法弄清楚如何获得这些尺寸,翻译尺寸这些文本选项的大小与某些默认HTML元素(H1,H2,P)的大小相同,并进行数学运算以计算CSS的新字体大小。

有人可以通过弄清楚如何做到这一点的某种计划来帮助我吗?或者有人可以通过给我一个关于如何通过辅助功能大文本获得某种百分比来确定字体大小与某个默认值的比较的方法来帮助我?

谢谢!

1 个答案:

答案 0 :(得分:1)

我已经弄清楚了:

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

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

这些是类:

-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`

使用您自己的font-size:

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>

希望它有所帮助!