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

 

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

 

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

 

目录
相关文章
零基础VB教程036期:如何正确使用picturebox控件?
零基础VB教程036期:如何正确使用picturebox控件?
193 0
DHL
|
设计模式 算法 安全
0xA05 Android 10 源码分析:Dialog加载绘制流程以及在Kotlin、DataBinding中的使用
0xA05 Android 10 源码分析:Dialog加载绘制流程以及在Kotlin、DataBinding中的使用
DHL
423 0
0xA05 Android 10 源码分析:Dialog加载绘制流程以及在Kotlin、DataBinding中的使用
|
Android开发 C++ Java
Android4.4.2KK竖屏强制更改为横屏的初步简略方案
解决方案: 当前是根据当前问题场景即竖屏强制更改为横屏的需求而做的改动,基本是hardcode定义的状态,总共修改有效代码行数5行,如果后续有其他需求或者需要更灵活的配置横屏和竖屏,可以采用编译开关生成系统属性的方式来控制,在系统中通过属性来判断当前的屏幕状态以达到灵活目的,可以在本次修改的基础上增加条件判断达到目的,具体修改代码如下图中圈红标识。
1210 0
|
Android开发 Java
android(cm11)状态栏源码分析(一)
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/50216563 (一):写在前面 最近由于工作需要,需要了解CM11中的有关于StatusBar相关的内容。
1167 0
|
Android开发 编解码
我的Android进阶之旅------&gt;Android关于dp(dip)、sp转px的工具类
下面是一个工具类,提供了dp、sp、px之间相互转化的方法。 import android.content.Context; /** * dp、sp 转换为 px 的工具类 * CSDN OuyangPeng */ public class Disp...
1232 0