android下,和windows系统获取分辨率,有一定的区别
比如我手机是2460x1080像素
但我在android下用screen.width,screen.height得到的是692*300 多
刚开始没在意,因为开发的app一切正常
后来到客户电视上,客户看到自己电视 是900多x500多,说分辨率有问题
于是我开始找android的真正的物理分辨率如何获取,方法如下:
得到我的分辨率是1887x1000,可和手机参数还是不一致,为什么?
后来得知,手机上面的分辨率是写死的,实际获取到的会有一点区别。
我用新获取的分辨率 计算 绘制表格后,有一定问题,文字必须缩小,不然表格很难看,
如果用真实分辨率,那你得计算所有ui的高宽,在windows和android下会有两套ui,
后来我放弃使用真实的,而是delphi计算后的screen分辨率,应该delphi设计者已经考虑到这些了
uses FMX.BehaviorManager
if TBehaviorServices.Current.SupportsBehaviorService(IDeviceBehavior, DeviceBehavior, Self) then
begin
DisplayMetrics := DeviceBehavior.GetDisplayMetrics(Self);
FPhysicalScreenHeight := DisplayMetrics.PhysicalScreenSize.cy;
FPhysicalScreenWidt