FMX多平台应用程序安卓手机版屏幕自适应的问题

ooolinux 2019-08-06 05:43:28
我用 RAD Studio 10.2 C++ Builder 写了一个FMX多平台安卓小游戏应用,我设计的时候窗体大小是640x360横屏(16:9),在我的手机上刚好自适应全屏,同事的手机,宽度自适应,长度等比例适应,因为他的屏幕长宽比例小于16:9,所以游戏横屏画面右侧有一部分没有显示。
不知道有没有办法让游戏画面拉伸自适应全屏幕,而不是等比例适应?
...全文
392 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
3D form可以自动缩放,2D的话,只需要把要缩放的组件都放到一个TLayout中,然后在OnResize中写:
Layout1->Scale->X = ClientWidth / Layout1->Width;
Layout1->Scale->Y = ClientHeight / Layout1->Height;
ooolinux 2019-08-08
  • 打赏
  • 举报
回复
也是合理,如果水平缩放成两倍,X比例就是2了。
  • 打赏
  • 举报
回复
是Form的Width/ClientWidth变了,Layout的宽度不变,只是显示时缩放了

ooolinux 2019-08-08
  • 打赏
  • 举报
回复
引用 4 楼 早打大打打核战争 的回复:
3D form可以自动缩放,2D的话,只需要把要缩放的组件都放到一个TLayout中,然后在OnResize中写: Layout1->Scale->X = ClientWidth / Layout1->Width; Layout1->Scale->Y = ClientHeight / Layout1->Height;
如果窗体自动缩放了,是ClientWidth 变了,还是Layout1->Width变了?
ooolinux 2019-08-07
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争 的回复:
Form设成最大化应该可以吧
如果FullScreen属性等于true的话,Windows下是全屏幕的,安卓我有空再试一下。
  • 打赏
  • 举报
回复
Form设成最大化应该可以吧
ooolinux 2019-08-07
  • 打赏
  • 举报
回复
FullScreen属性设置为true,安卓手机游戏的时候是全屏的,三个虚拟按键不出现,ShowMessage窗口出现时才显示虚拟按键。 不过Windows平台下,虽然全屏,但是控件还是原来的大小,其它都是空白,如果不靠代码缩放,有没有属性设置可以做到控件一起缩放的?

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧