创建适合所有屏幕的多设备应用程序

问题描述 投票:3回答:1

我正在使用Delphi 10.2并创建一个多设备应用程序 - 这是第一次。

但是,我在使用我的UI适合所有接口时遇到问题。我们以Android设备为例。

我拥有三星Galaxy J2 Prime设备。 Delphi 10.2有一些预设设备,包括4“和5”屏幕。但是,我的设备的屏幕尺寸似乎不适合预设设备,介于4“和5”屏幕之间。

因此,我总是遇到屏幕外或开箱即用的UI组件问题。这是一个例子。

在我的IDE上,这是我看到的(图片是align = left; text是align = right):

Delphi IDE

但这是我在设备上看到的内容:

Device

我有很多这样的情况。我尝试使用对齐,边距,填充,锚点和各种布局组件,但我不太了解使用它们的正确方法和什么是“黑客”。我知道我可以创建一个完全适合我的三星Galaxy J2 Prime设备的新预设设备,但它感觉不对,因为它最终意味着我需要为数十个(如果不是数百个)设备创建预设。

什么是好的起点?

android delphi firemonkey
1个回答
1
投票

如果没有你的代码,提供适当的建议当然很困难,但我会尝试给出一些可能性。

  1. 图片和文字是两个不同的组成部分。尝试将它们放在TPanel上并将它们的Align属性设置为alLeftalRightTPanel本身可能是alTop,但这取决于你的其他元素。
  2. 您可以询问屏幕的宽度,然后根据您对此信息的需求缩放两个元素(或所有存在的元素)。请记住,还有其他可能获得显示器的实际尺寸,这只是第一个建议。 MyWidth := Screen.Monitors[0].Width;
  3. 询问您的设备DPI。有了这些信息,您基本上可以计算出每个设备的完美匹配。 Result := Round(10 * Self.Monitor.PixelsPerInch / 96);

可能最好的做法是将三者结合起来以适应大多数设备。

© www.soinside.com 2019 - 2024. All rights reserved.