帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
1
帖子
0
勋章
Y币

[App引擎] UI组件的定位的限制

[复制链接]
发表于 2014-11-5 14:46:57
本帖最后由 lovesong 于 2014-11-5 14:48 编辑

今天我试着按设计图用来实现,才发现UI组件的定位全部都是绝对定位,这极大限制我界面的开发,感觉束手束脚。我很难协调HTML结构和UI组件之间的定位,就因为UI组件是绝对定位。我想问下我是不是遗漏了什么东西,能解决我布局上同时使用组件的问题。
1
帖子
0
勋章
Y币
人呢,有人帮忙回答下吗?
1682
帖子
10
勋章
Y币
lovesong 发表于 2014-11-5 16:09
人呢,有人帮忙回答下吗?

稍等,我去找技术人员给您解答
20
帖子
1
勋章
7581
Y币
您好,使用APICloud开发出来的app本身就是自动适配所有IOS和Android设备的。
   在你的代码中无论使用px还是em等等w3c标准的计量单位进行布局,APICloud内部都会将其根据不同设备的屏幕密度自动适配相应设备的屏幕。因此,在APICloud中,实际上你的布局会是“动态”的,比如说,你的界面“头部”高度你在css中给的是50px,那么在IOS 640*960的屏幕上,它的实际高度会是50x2=100px,而在Android 1080*1920的屏幕上可能会是50*3=150px,也就是css中px会和屏幕的实际分辨率的“px”之间有一定的换算率。这样就可以保证一套UI可以跑在所有屏幕上。
   同时,UI组件中要求传入的x、y、w、h等参数,也会对应有换算率。这就保证了html和模块UI组件的一致性,同时也能保证每个平台的效果是一样的。
   换算过后,在编码过程中我们可以有这样一个屏幕参考值,屏幕宽请参考320~360px,屏幕高请参考533~640px即可。
   因此你在实现过程中可以参考你的设计图,结合以上宽高参考进行布局设计。同时也可以在论坛上下载O2O项目的代码进行体验后,参考其中的布局方式(box布局)。
1
帖子
0
勋章
7581
Y币
本帖最后由 lovesong 于 2014-11-5 20:45 编辑
常山赵子云 发表于 2014-11-5 18:23
您好,使用APICloud开发出来的app本身就是自动适配所有IOS和Android设备的。
   在你的代码中无论使用px还 ...

谢谢版主的回答,既然是有换算分辨率的。那如果是下图这样情况,有个动态高度的div,我下面又使用了一个组件,我没办法在初始化这个组件时候确定上面那个div的高度是多少,那那个组件的y没办法设了,好像也没有可以动态设组件的y的,即使是有,那不是要总是要设这个y?
PS:额外再问下,既然组件是设x、y、w、h来定位(可以理解是绝对定位),那也意味着这个h也是必设的(不然底部有tarbar会遮住部分)。比如我有个list-view设了500高度,但内容里有1000,这就会出现滚动条,但我不想要,但因为有tarbar不得不设h,该怎么办?
麻烦版主解惑下
QQ截图20141105204621.png
53
帖子
0
勋章
522
Y币
本帖最后由 毛腿 于 2014-11-5 23:26 编辑

UI 组件 要么 全屏 要么 固定头 或者 底  要想跟随滚动条 上下拖动 不可能哦, UI组件 和 Html 本来就是2个东西,是不能融合的,是不可能吧原生控件插入到Html中,跟随View一起滚动的
之前用的 scrollPicture 就是有这个问题 所以放弃用这个了,换了html 来实现了
1
帖子
0
勋章
522
Y币
毛腿 发表于 2014-11-5 23:24
UI 组件 要么 全屏 要么 固定头 或者 底  要想跟随滚动条 上下拖动 不可能哦, UI组件 和 Html 本来就是2个 ...

原来是这样呀,UI组件是原生实现的,那在可定制这方面就很差了,想做微调都不行.......
1
帖子
0
勋章
522
Y币
APICloud官方 发表于 2014-11-5 16:41
稍等,我去找技术人员给您解答

你好,我想确认个东西。UI组件是不是绝大多数是原生做的?
18
帖子
0
勋章
398
Y币
lovesong 发表于 2014-11-6 17:06
你好,我想确认个东西。UI组件是不是绝大多数是原生做的?

据说 他们的 大拿  已经找到了 让 原生模块 与 html div块 无缝融合的解决策略.   混合开发,要发生大事件了.
1
帖子
0
勋章
398
Y币
本帖最后由 lovesong 于 2014-11-7 11:05 编辑
生于1984 发表于 2014-11-7 00:56
据说 他们的 大拿  已经找到了 让 原生模块 与 html div块 无缝融合的解决策略.   混合开发,要发 ...

感觉他们对 web实现UI组件有很大抵触,认为原生实现才具效率。UI组件本身就必须要可以微调以便满足开发者需求(让人很犹豫要不要提供的组件),而原生组件太木,动都动不得。 之前社区里有小伙伴做个“脉脉”的demo,有没有发现他根本没有用提供的UI组件,带来的影响就是他做了很多基础的事件——Html结构、css、自行绑定事件。我觉得apicloud团队需要看清开发者的不便之处,不要拘泥于原生,Web实现的效果不会很差,因为本身就是个hybird的框架。
12下一页
您需要登录后才可以回帖 登录

本版积分规则