第五章:尺寸处理(5)

简介:

可访问性问题
EstimatedFontSize程序和FitToSizeClock程序都有一个细微的缺陷,但如果您是众多不能在移动设备上轻松阅读文本并使用该设备的辅助功能来制作文本的人之一,则问题可能并不那么细微。 文字较大。
在iOS上,运行设置应用程序,然后选择“常规”,“辅助功能”和“较大文本”。 然后,您可以使用滑块使屏幕上的文字变大或变小。 该页面指示仅在支持动态类型功能的iOS应用程序中调整文本,
在Android上,运行设置应用,然后选择显示然后选择字体大小。 您将看到四个单选按钮,用于选择Small,Normal(默认),Large或Huge。
在Windows 10移动设备上,运行设置应用,然后选择轻松访问,然后选择更多选项。 然后,您可以将标记为文本缩放的滑块从100%移动到200%。
以下是您将发现的内容:
iOS设置对Xamarin.Forms应用程序没有影响。
Android设置会影响从Device.GetNamedSize返回的值。 如果选择Normal以外的其他东西并再次运行FontSizes程序,则会看到对于NamedSize.Default参数,Device.GetNamedSize在设置为Normal(如前面的屏幕截图所示)时返回14,但返回12 设置为小号,16号为大号,18号为巨型号。
此外,Android屏幕上显示的所有文本都是不同的大小 - 即使对于恒定的FontSize值,也可以选择更小或更大的设置,以便根据您选择的设置进行设置。
在Windows 10 Mobile上,从Device.GetNamedSize返回的值不依赖于辅助功能设置,但所有文本都显示得较大。
这意味着EstimatedFontSize或FitToSizeClock程序无法在Anroid或Windows 10 Mobile上正常运行,并具有较大文本的可访问性设置。 部分文本被截断。
我们再来探讨一下。 AccessibilityTest程序在其页面上显示两个标签元素。 第一个具有20的常量FontSize,第二个仅在大小更改时显示第一个Label的大小:

public class AccessibilityTestPage : ContentPage
{
    public AccessibilityTestPage()
    {
        Label testLabel = new Label
        {
            Text = "FontSize of 20" + Environment.NewLine + "20 characters across",
            FontSize = 20,
            HorizontalTextAlignment = TextAlignment.Center,
            HorizontalOptions = LayoutOptions.Center,
            VerticalOptions = LayoutOptions.CenterAndExpand
        };
        Label displayLabel = new Label
        {
            HorizontalOptions = LayoutOptions.Center,
            VerticalOptions = LayoutOptions.CenterAndExpand
        };
        testLabel.SizeChanged += (sender, args) =>
        {
            displayLabel.Text = String.Format("{0:F0} \u00D7 {1:F0}", testLabel.Width,
                     testLabel.Height);
        };
        Content = new StackLayout
        {
            Children =
                {
                    testLabel,
                    displayLabel
                }
        };
    }
}

通常,第二个标签显示的尺寸与前面所述的假设大致一致:
201806112121550333

但现在进入可访问性设置并将它们一路调高。 Android和Windows 10 Mobile均显示较大的文字:
201806112122210334

前面描述的字符大小假设不再有效,这就是程序不适合文本的原因。
但是,还有一种方法可以将文字大小设置为矩形区域。

目录
相关文章
|
5月前
|
XML 搜索推荐 Java
Android App开发之自定义图形中位图与图形互转、剪裁图形内部区域、给图形添加部件的讲解及实战(附源码 简单易懂)
Android App开发之自定义图形中位图与图形互转、剪裁图形内部区域、给图形添加部件的讲解及实战(附源码 简单易懂)
59 0
|
机器学习/深度学习
深度学习数据增强方法-内含(亮度增强,对比度增强,旋转图图像,翻转图像,仿射变化扩充图像,错切变化扩充图像,HSV数据增强)七种方式进行增强-每种扩充一张实现7倍扩)+ 图像缩放代码-批量
深度学习数据增强方法-内含(亮度增强,对比度增强,旋转图图像,翻转图像,仿射变化扩充图像,错切变化扩充图像,HSV数据增强)七种方式进行增强-每种扩充一张实现7倍扩)+ 图像缩放代码-批量
|
3月前
|
容器
软件开发常见流程之物理像素导致图片变形问题如何解决,先把图缩放为原先的两倍,再缩放,利用Cutterman生成矢量图
软件开发常见流程之物理像素导致图片变形问题如何解决,先把图缩放为原先的两倍,再缩放,利用Cutterman生成矢量图
|
前端开发
前端知识案例学习9-可调整尺寸得UI
前端知识案例学习9-可调整尺寸得UI
129 0
前端知识案例学习9-可调整尺寸得UI
案例03 补充:金字塔等图形边框的绘制
案例03 补充:金字塔等图形边框的绘制
251 0
案例03 补充:金字塔等图形边框的绘制
|
算法 计算机视觉
CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略(一)
CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略
CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略(一)
|
算法 算法框架/工具 计算机视觉
CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略(二)
CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略
CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略(二)
|
数据可视化 开发者 Python
完善折线图(图像层)| 学习笔记
快速学习完善折线图(图像层)
121 0
|
JSON JavaScript 编译器
Qt编写地图综合应用5-自适应拉伸
一、前言 用过echart的人都会遇到一个问题,就算是代码中写了window.onresize = echart.resize,也只是横向自适应拉伸填充页面,垂直方向不会变化,除非指定高度才可以,这就比较郁闷了,为何echart本身不会自适应呢?按道理不应该啊,莫非实现起来很困难?好吧先不管这个了.
706 0
Qt编写地图综合应用5-自适应拉伸
|
Android开发 容器
第五章:尺寸处理(6)
经验拟合文本在具有特定尺寸的矩形内拟合文本的另一种方法涉及基于特定字体大小凭经验确定呈现文本的大小,然后向上或向下调整该字体大小。 无论可访问性设置如何,此方法都具有在所有设备上工作的优势。但是这个过程可能很棘手:第一个问题是字体大小和渲染文本的高度之间没有干净的线性关系。
937 0