经过xe4,xe5,xe6 这么几个版本的磨合,易博龙终于在今年9月推出了统一的多平台开发版本-XE7.
经过最近几天的测试,非常不错。如果各位同学在做移动开发,强烈建议使用XE7. 前面几个版本可以忽略了。
由于xe7 在界面设计上使用了新的视图(View) 模式,通过主视图建立子视图.
这里系统预定义好了好多子视图。
但是许多同学可能需要其他尺寸的视图。
其实自定义其它尺寸试图的方法也很简单。
例如,我的手机的参数如下:
- Model = xalionPhone
- Diagonal (in) = 4.5 英寸
- Resolution = 720 x 1280 像素
- Pixel density = 326 ppi
- Css pixel ratio = xhdpi (2.0x)
我们需要建立一个包,如图:
然后在包里添加一个单元。
并在unit 里面输入以下代码:
unit Unit1; interface implementation uses system.Devices, system.Types, system.SysUtils; const ViewName = 'xalionview'; // The name of the view. initialization TDeviceinfo.AddDevice(TDeviceinfo.TDeviceClass.Phone, ViewName, TSize.Create(1216, 684), TSize.Create(1216 div 2, 684 div 2), // MinPhysicalSize(max, min), MinLogicalSize(max, min) TSize.Create(1280, 720), TSize.Create(1280 div 2, 720 div 2), // MaxPhysicalSize(max,min), MaxLogicalSize(max,min) TOSVersion.TPlatform.pfAndroid, 326); //Select the platform and the pixel density. finalization TDeviceinfo.RemoveDevice(ViewName); // To unregister the view after unistalling the package. end.
最后编译并安装这个包。
关掉XE7.
打开这个文件MobileDevices.xml,此文件位于C:\Users\<username>\AppData\Roaming\Embarcadero\BDS\15.0.
用文本编辑在里面仿照其它的格式
加入
以下代码
<MobileDevice> <Name>xalionView</Name> <Displayname>xalionView</Displayname> <DevicePlatform>3</DevicePlatform> <FormFactor>2</FormFactor> <LandscapeRight Enabled="True" Width="720" Height="1800" Top="61" Left="44" StatusbarHeight="25" StatusBarPos="0" Artwork="$(BDS)\ObjRepos\en\Devices\images\Android10.cpng"/> <UpsideDown Enabled="True" Width="720" Height="1800" Top="68" Left="47" StatusbarHeight="25" StatusBarPos="0" Artwork="$(BDS)\ObjRepos\en\Devices\images\Android10180.cpng"/> <LandscapeLeft Enabled="True" Width="1800" Height="720" Top="44" Left="68" StatusbarHeight="25" StatusBarPos="0" Artwork="$(BDS)\ObjRepos\en\Devices\images\Android1090.cpng"/> <Portrait Enabled="True" Width="1800" Height="720" Top="47" Left="61" StatusbarHeight="25" StatusBarPos="0" Artwork="$(BDS)\ObjRepos\en\Devices\images\Android10270.cpng"/> </MobileDevice>
注意这里由于我没有自己画皮肤,就顺便用了xe7 自带的皮肤,大小有点不太一致。(只是说明方法)
重新启动xe7.建立一个多平台工程。
然后在试图里就有了xalionview 这个子视图了。
这样就完成了自己定义视图。
上面的一些参数都是我自己示例写的,如果用在实际中,需要自己按照设备具体的参数设置。