当前位置: 首页 > 网络应用技术

Fyne(GOI GUI)中国文档 - 结构(8)结束

时间:2023-03-07 20:52:50 网络应用技术

  本文档注意官方网站的写作(https://ddeveloper.fyne.io/),仅保留基本用法方法

  GO代码显示为1.16且更高版本,IDE是Goland2021.2

  Fyne应用程序基于每个窗口的1个画布。east画布都有一个CanvasObject。它可以是单个组件或多目标的容器,其大小和位置由布局控制。

  地点

  每个画布的原点位于左上角(0,0)。UI的每个元素都可以根据输出设备进行缩放,因此API不描述像素或准确的测量值。例如,在120DPI显示屏上,位置(10,10)可以从右下来为10像素(10,10)在原点,但在HIDPI(或“视网膜”)显示屏上,这可能接近20像素。

  CanvasObject引用的每个位置都相对于其母体级别。这对于布局算法很重要,但对于处理过程中的开发人员也很重要。X/Y坐标将在此处从按钮的左上角计算出来,而不是按钮的左上角计算整个画布。这将使代码尽可能独立。

  像素

  与其他基于矢量的GUI库一样,Fyne坐标需要基于某些基线监视器分辨率。所有[Zooming]与此值有关。对于Fyne,分辨率为120DPI。这意味着您的显示为120DPI,并且比例值和比例值时设置为1,其中提到的尺寸将为1 = 1px。对于HIDPI屏幕,如上所述,实际DPI可能接近240,并且在移动设备上甚至可以在360或更高版本上进行管理。这种复杂性,工具袋是内部管理的,因此您的应用程序始终看起来正确。如果用户将比例设置为较小的比例,则其应用程序将始终具有比普通字体,按钮的字体较小,并且当他们指定较大的字体时,您的应用程序将为您的应用程序,您的应用程序将为以适应的比例扩增。

  与材料设计相比,我们可以看到它们的基线DPI为160,尽管数学相似,但实际数字不同。这意味着该设备的大小与Fyne中的设备无关,以指示相同的物理尺寸。例如,Fyne中的较高图标将在标准材料设计(例如Android)应用中进行调整。在构建应用程序时,这是无关紧要的,但是在与设计师或具有材料设计的专家合作时,这可能很重要。

  如果您开始加载位图,那么像素大小将很重要。通常,这些将适当缩放,但是如果指定,由于像素密度,不同设备上的实际图像大小将有所不同。通常,此函数将在一个中使用。container.fyne还定义了一个原始的,该原始功能将与输出设备的像素密度准确绘制像素。这允许您的代码尽可能高的输出分辨率绘制,而无需知道您正在运行的设备的详细信息。如果您需要” Pixel”完美的”定位出于某种原因,您需要*。

  Fyne是完全使用矢量图形构建的,这意味着用Fyne编写的应用程序可以完美地缩放到任何尺寸(不仅是整数增量)。这对于在移动设备上越来越流行的高密度显示器和High -high -high -high -high -high -thik -this。这是一个很大的好处。端计算机。计算以匹配操作系统的默认比率 - 这是某些系统上的用户配置,而其他系统则基于屏幕的像素密度(DPI -NUMBER每英寸)。如果Fyne窗口移至另一个屏幕,它将相应地缩小并调整窗口大小!我们称其为“自动缩放”,旨在在更改显示屏时保持应用程序用户界面相同的大小。

  您可以通过使用应用程序或使用环境变量设置特定比例来调整应用程序大小。这些值可以使内容大于或小于系统设置。使用“ 1.5”将增加内容50%或设置为0.8,以使其不到20%。

  Fyne工具包中的小组件旨在遵循标准主题,并支持快速应用程序开发,可靠的测试和易于维护。我们将在此页面上讨论许多设计注意事项。

  ACT API

  关于标准组件,您会注意到的一件事是,API与行为和状态完全相关 - 但很少控制元素的实际外观。这是设计。它可以使我们的代码和应用程序开发人员的代码专注于行为小型组件的渲染过程可以保留到其他代码。这使得测试更加容易。实际上,可以通过内存单元对完整的应用程序进行测试,而无需渲染应用程序。

  您可以[扩展现有的小组]以添加新的行为,而不必担心它如何显示。您也可以[编写自己的]组件,并且该应用程序不限于提供的小组件集。当构建自己的小型组件时,您会注意到渲染细节与状态完全分开 - 这是上述设计的一部分。(演示代码)通常包含对访问状态或其他信息的一小部分的引用。调用 - 然后刷新渲染器,并应更新以反映新状态。建议定制尺寸,颜色和图标以指定您需要使用当前的尺寸,颜色和图标,但您可以选择。

  内容填充

  标准的小组件使用主题指定的主题在其图形组件周围留出适当的空间。在此版本中,大多数小组件的高度和基线都标准化,以确保默认情况下标准布局可以很好地对齐。定制的小型组件,建议您遵循这些条件。

  这些值用于用于分离容器的元素中,并在应用程序的应用程序周围创建一个标准化空间。背景和向下线扩展到边缘,但应插入其内容。因此,我们已经标准化了用于匹配的距离。

  小组件的标准插入或内容是先前定义的标准值。填充是指标准图是。您可以看到(文本)的内容以及如何插入太多,以至于它们的内容彼此相邻时将是水平和垂直的。

  建议定制的小型组件包含相似的尺寸,以便它们可以与标准的小型组件合作。

  Fyne项目分为许多软件包,每个袋子提供不同类型的功能。它们如下: