我在登录屏幕的顶部有一个 Logo :
ScaleImageLabel logo = new ScaleImageLabel(theme.getImage("myLogo.svg"))
logo.setName("MyLogo");
logo.setUIID("MyLogo");
backgroundContainer.add(BorderLayout.NORTH, FlowLayout.encloseCenterMiddle(logo));
我的主要问题是大小,因为在某些设备上太大,在其他设备上太小。
例如,假设我希望 Logo 在最大 80% 的水平屏幕空间和最大 20% 的垂直屏幕空间(根据它们的最大值)自动调整大小。如果 Logo 位于边框布局的北部,我该如何实现?
最佳答案
您正在使用流式布局来包装组件。流式布局为组件提供了首选尺寸,因此如果首选尺寸太小,您的缩放组件将不再重要。
我建议使用在所有基于 DPI 的设备上看起来都不错的多图像,并避免缩放 Logo 等元素。 Multi-image 正是为此目的而设计的。或者,您可以使用如下代码以毫米为单位调整图像大小:
Image img = logo.scaledHeight(Display.getInstance().convert(sizeInMM));
关于android - 代号一 - 根据可用空间自动调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47503140/