XE7 里面添加自定义View

本文详细介绍了如何在XE7版本中自定义移动设备视图,包括建立自定义视图的方法、修改MobileDevices.xml文件以适配不同尺寸的设备,并在多平台工程中使用这些自定义视图。

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

 

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

 

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

 

转载于:https://www.cnblogs.com/xalion/p/3959350.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值