当前位置 : 主页 > 手机开发 > 无线 >

【GeneXus】开发移动APP时,如何使用Canvas进行布局?

来源:互联网 收集:自由互联 发布时间:2021-06-10
当我们开发移动端APP的时候,经常遇到一种布局方式,那就是层级的布局,比如:一张照片我想在照片的上面显示它的名称,但不影响我照片展示的布局大小,也就是这个名称是浮在照

当我们开发移动端APP的时候,经常遇到一种布局方式,那就是层级的布局,比如:一张照片我想在照片的上面显示它的名称,但不影响我照片展示的布局大小,也就是这个名称是浮在照片上的,如图:

分享图片

 

如果要实现这样的布局方式,应该怎么做呢? 这种布局方式在GeneXus中变得非常简单,接下来我们就看一下如何实现。

首先我们在SDPanel中有个控件叫Canvas,它是允许您使用绝对定位准确地对布局中的元素进行控制,首先我们把它拖入我们的页面中,然后再把我们需要放入的元素放到控件中,然后直接调整它们的显示的位置和层级即可,如图: 

  分享图片

  分享图片

  

那么我们怎么调整它每个元素显示的位置及大小呢?

每当我们拖一个元素到CanVas 中,这个元素都会有对应的属性去设置它的高度宽度及在整个CanVas 中显示在哪个位置的属性,如图:

  分享图片

我简单的给大家说下每个属性的作用:

1)      Top : 从控件到Canvas顶部的距离,(也就是说我们的元素距离 Canvas 顶部的距离,可以是DIP或者百分比 )

2)      Left: 从控件到Canvas左侧的距离(也就是说我们的元素距离 Canvas 左边的距离,可以是DIP或者百分比 )

3)      Bottom: 从控件到Canvas底部的距离(也就是说我们的元素距离 Canvas 底部的距离,可以是DIP或者百分比 )

4)      Right: 从控件到Canvas右侧的距离(也就是说我们的元素距离 Canvas 右边的距离,可以是DIP或者百分比 )

5)      Width:控件的宽度(也就是我们放进去的元素要显示的宽度,可以是DIP或者百分比)

6)      Height:控件的宽度(也就是我们放进去的元素要显示的高度,可以是DIP或者百分比)

7)      Z-order:指定控件的堆栈顺序。(堆栈顺序较大的控件始终位于堆栈顺序较低的控件前面,值是数字)

注:Left,Right,Top和Bottom属性的值可以是负数。这意味着我们的元素将以相反的方向移动

如下图所示,我设置了一些属性值:

分享图片

首先我放入的图片我不限制它的宽度,我设置了图片显示的高度也就是150dip ,然后我让它居上50%,居下50%,那也就是它是在整个手机屏幕的中间显示,它的Z-order是0,说明它是在最底下那层显示,

接下来看下我们的文字对应的属性设置,如图:

分享图片

其余的属性和上一个相似,唯独Z-order是1 那么也就说明我的文字是在图片的前一层。

下面就是我们运行后的效果图:

分享图片

 

注:CanVas 不局限于图片和文字的 使用,它可以灵活性的使用和放入各种元素,控件使用,以上只是说一下它的使用方法。

参考wiki链接:https://wiki.genexus.com/commwiki/servlet/wiki?22452,Canvas%20control

网友评论