XE7 里面添加自定义View

    经过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 这个子视图了。

 

这样就完成了自己定义视图。

 

上面的一些参数都是我自己示例写的,如果用在实际中,需要自己按照设备具体的参数设置。

 

你可能感兴趣的:(view)