Egret社区

[Bug已解决] 不知道是不是Wing的Bug

2015-9-15 00:00
12947
产品 Egret Wing 版本 2.0.0
复现概率 100% 平台 Mac OS OS X 10.10.3
复现步骤 正常创建progress皮肤的过程,只要thumb的位置是自己摆正就会出现
问题描述 用图片设置progressBar皮肤,如果thumb对齐方式不是采用上下左右填充,而是自己摆正位置的情况下,在设定value的值后,thumb和track的大小会改变(非常夸张的改变)
错误代码
BUG截图

手动摆正的位置

手动摆正的位置

放上去是正常的

放上去是正常的
分享到 :
0 人收藏

7 个回复

倒序浏览
wzh005313  登堂入室 | 2015-9-15 00:00:40
只要改变value的值就会变
小书呆子  斑竹 | 2015-9-15 00:11:04
这玩意儿挺不好使的
dom  圆转纯熟 | 2015-9-15 09:32:10
应该是因为track改变了。track是用来决定thumb覆盖的区域的。你先检查一下运行时track的尺寸是不是不对。然后再找track的尺寸跟谁有关联,设置了track的上下左右跟父级约束的话,就会跟随父级容器的大小改变。而父级容器如果没有显式设置宽高,它又会根据子项的尺寸来测量自身尺寸。子项尺寸就包括thumb和track。这里有个方法你可以试一下。就是把thumb的includeInLayout设置为false。
wzh005313  登堂入室 | 2015-9-15 23:14:15
dom 发表于 2015-9-15 09:32
应该是因为track改变了。track是用来决定thumb覆盖的区域的。你先检查一下运行时track的尺寸是不是不对。然 ...

把thumb的includeInLayout设置为false略微好用了吧,但是还是改变了,和自己摆放的位置不一样,而且我没有设定track的大小,而是根据图片的大小改变的,也没有将他绑定在其他父类对象上
dom  圆转纯熟 | 2015-9-16 09:30:31
wzh005313 发表于 2015-9-15 23:14
把thumb的includeInLayout设置为false略微好用了吧,但是还是改变了,和自己摆放的位置不一样,而且我没 ...

那个,track不是背景那张图。「track是决定thumb覆盖区域的显示对象」,通常是放个透明的Group在那边做track。你把它设置的多大,thumb就覆盖到哪。你显式设置它尺寸试试。
f111fei  官方团队 | 2015-9-16 09:51:44
dom 发表于 2015-9-16 09:30
那个,track不是背景那张图。「track是决定thumb覆盖区域的显示对象」,通常是放个透明的Group在那边做tr ...

这个是进度条的一个bug,没有显式设置进度条尺寸但是thumb设置了布局属性,就会导致进度条无限测量和布局。  他这里应该是设置了thumb的布局了吧。。。这个无限测量的问题已经修复了,下次更新。
f111fei  官方团队 | 2015-9-16 13:56:57
最新版本中,ProgressBar的默认皮肤已经被改成了下面这样,请您以下面这种格式自定义进度条皮肤。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <e:Skin height="20" xmlns:e="http://ns.egret-labs.org/egret" xmlns:w="http://ns.egret-labs.org/wing">
  3.   <w:HostComponent name="egret.gui.ProgressBar"/>
  4.   <e:states>
  5.     <e:State name="normal"/>
  6.     <e:State name="disabled"/>
  7.   </e:states>
  8.   <e:Group height="100%" width="100%">
  9.     <e:UIAsset source="progressbar_track_png" height="100%" width="100%" />
  10.     <e:Group id="track" height="100%" width="100%" />
  11.     <!-- thumb will be set the same position and size with track, please set track's layout when you want to change the thumb's position -->
  12.     <!-- ProgressBar 中 thumb 会被设置为与 track 在相同的位置和宽高,所以需要调整进度条显示的位置时,请调整 track 的位置-->
  13.     <e:UIAsset id="thumb" source="progressbar_fill_png"/>
  14.     <e:Label id="labelDisplay" textAlign="center" verticalAlign="middle"
  15.                          maxDisplayedLines="1" size="20"
  16.                          textColor="0x707070" horizontalCenter="0" verticalCenter="0"/>
  17.   </e:Group>
  18. </e:Skin>
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

wzh005313

登堂入室

积分: 19 帖子: 9 精华: 0

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部