对于可以设置背景background属性的,一般都对应可以设置backgroundDrawable,并且传入ImageDrawable对象,此时就可以很好地利用图元节点设置任何矢量图标并动态变量属性设

以对话框ht.ui.Dialog为例,渲染元素显示在编辑状态的图纸中,来看圆角、边框线、背景矩形和阴影矩形相关。

现设置padding为100,背景为黄色,留下四周区域,如下图所示,可以看到黄色背景区域了。

如果直接用setBorderRadius()设置圆角,通常出现圆形边框线画在背景矩形之上的效果,且一旦背景矩形设置透明,圆角边框成为镂空的“轨道”了,显然不是我们想要的圆角效果。

 

此时在去掉背景后(透明),发现还有灰色矩形存在,设置阴影比如dialog.setBoxShadow('0px 8px 22px rgba(255,0,0,1)'),中间矩形还是灰色,灰色矩形与背景、阴影并无关系

不过灰色区域可以不用关心,实际对话框运行状态下,灰色区域是透明的(也是为什么设置边框圆角、背景透明后会成为“轨道圆角环线”的效果)

 

 

现在回到主题,如何实现对话框矩形区域理想的圆角效果。

首先,所有可以setBackground()的方法,基本都可以设置背景自绘:setBackgroundDrawable,这时就可以用到图标结合绑定动态变量传参了,而且图标除了是svg常规的icon图标,还完全可以是一个手动创建的圆角矩形,并且把圆角radius做数据绑定暴露出来可配置。

这样就实现了原本以为需要且只能填入背景色的区域,完全可以用做了数据绑定、暴露属性变量的图标,这样就实现了理想效果!

 

ht框架定义class类;ht.Default.def从ht类继承派生类;ht-ui中组件API设置图标json,可利用Drawable重写draw集合通过新创建ht.Node对象过渡,来做数据绑定变量对传入的图标json动态赋值!

dialog-ui:对话框组件可编辑外观样式以及嵌套对话框内容页,注意,对话框无法正常直接编辑状态下显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IOTOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值