wechat-miniprogram / minigame-canvas-engine

轻量级canvas2d渲染引擎,开放数据域开发解决方案。
https://wechat-miniprogram.github.io/minigame-canvas-engine/
MIT License
274 stars 64 forks source link

几个问题,麻烦看一下需要怎么解决 #10

Closed yangbo1024 closed 3 years ago

yangbo1024 commented 3 years ago

功能需求背景: 列表项可以点击展开详情,展开后列表项尺寸会变大,所需需要重新布局;且列表在有拖动位移之后展开,需要保持原列表滚动距离,比如当前显示第11-21名,展开后需要依然定位展示11-21名(此时21名可能只能展示一部分)。

1.getElementsById和getElementsByClassName对scrollview节点无效

  1. 有的节点注册的事件无法生效,目前除了最外层节点都无法注册事件touchstart,click,touchend
  2. 点击某项改变宽度,重新布局时会画面闪烁一下
  3. 没有指定滑动列表位置(非初始0位置)的api

谢谢。

yuanzm commented 3 years ago

能否留下个demo,我这两天看下,隔壁issue提到的滑动问题已经解决了

yangbo1024 commented 3 years ago

链接:https://github.com/yangbo1024/netdisk/blob/main/TestWxRank.zip 或者 链接: https://pan.baidu.com/s/16muq57QYaNOHnV7Gz9r_gg 提取码: 1g9m

压缩文件中包含完整的cocos creator 3.1.0测试工程;其中包含构建好的微信小游戏工程,在build/wechatgame下; 根目录下也附了一份编译前的dot模板源文件template.html; 详细说明以及问题描述已经附在index.js中,其它细碎暂时不太紧要或者能较容易绕开的问题,就没有列了; 如果方便的话,劳烦大佬加一下微信borsyu提高沟通效率; 辛苦啦。

yuanzm commented 3 years ago

最新的版本做了以下改动:

  1. U 重写Scrollview,引用scroller,支持横向滚动和纵向滚动,体验更好;
  2. A Scrollview 新增scrollX和scrollY配置,用于标识是否需要横向滚动和纵向滚动;
  3. F 修复 ScrollView 查询节点找不到的bug;
  4. A ScrollView 支持 scroll 事件;
  5. A ScrollView 支持 scrollTo API;
  6. F borderRadius 和 borderWidth 原先属性冲突;
  7. A 新增样式支持:borderTopLeftRadius、borderTopRightRadius、borderBottomLeftRadius、borderBottomRightRadius
  8. D borderLeftWidth、borderRightWidth、borderTopWidth、borderBottomWidth、borderTopColor、borderBottomColor、borderLeftColor、borderRightColor 废弃;

1.getElementsById和getElementsByClassName对scrollview节点无效 这个问题解决了

  1. 有的节点注册的事件无法生效,目前除了最外层节点都无法注册事件touchstart,click,touchend 这个应该是样式问题,你可以选择文本而不是那个图片来绑定事件,估计是文本的宽高较大盖在图片上了;

3.点击某项改变宽度,重新布局时会画面闪烁一下 闪烁是符合预期的,因为init是很慢的,下一个版本会做大幅度优化,不改变节点的情况下,不需要执行init、layout逻辑,通过node.style.width = xxx会自动冲计算布局然后重绘;

  1. 没有指定滑动列表位置(非初始0位置)的api 已经支持