XE7 里面添加自定义View

简介: 经过xe4,xe5,xe6 这么几个版本的磨合,易博龙终于在今年9月推出了统一的多平台开发版本-XE7. 经过最近几天的测试,非常不错。如果各位同学在做移动开发,强烈建议使用XE7. 前面几个版本可以忽略了。

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

 

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

 

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

 

目录
相关文章
|
3天前
|
JSON 前端开发 API
ec-canvas 在小程序上的使用(二)
ec-canvas 在小程序上的使用
|
3天前
|
JSON 小程序 数据可视化
ec-canvas 在小程序上的使用(一)
ec-canvas 在小程序上的使用
|
3天前
|
缓存 小程序 前端开发
ec-canvas 在小程序上的使用(三)
ec-canvas 在小程序上的使用
|
前端开发 Android开发 Python
|
前端开发 Android开发 图形学
Android自定义View工具:Paint&Canvas(一)
本文主要讲的是自定义View时我们经常用到的Canvas和Paint,像平时画画一样,我们需要画布和画笔,而Canvas就是画布,Paint就是画笔
|
前端开发
自定义View -简单的 SwitchView
前言 实现一个简单的滑动开发,效果图如下: switchView完整版本 分析 平分整个View为两份 平分VIew 测量字体的高度和宽度,确定左右View的文字的位置并进行绘制 确定字体的位置和绘制 绘制...
991 0
|
前端开发 Android开发
3.6 自定义View (3.6.1)
本文对应项目的码云地址:https://gitee.com/wanchuanxy/AndroidHeroesTest/tree/master/3/SystemWidget Android给我们提供了丰富的组件库来创建丰富的UI效果,同时也提供了非常方便的拓展方法。
708 0
|
XML Android开发 数据格式
3.6 自定义View (3.6.2)
本文对应项目的码云地址:https://gitee.com/wanchuanxy/AndroidHeroesTest/tree/master/3/SystemWidget 3.6.2 创建复合控件 创建复合控件可以很好地创建出具有重用功能的控件集合。
634 0
|
XML 数据格式
自定义View(一)
一、初探 大家都知道自定义view需要重写onMeasure和onDraw两个方法,这里我们在讲这两个方法前首先看看什么时候走这两个方法,这里只是大致讲讲方便理解,详细的之后会说。
725 0