天天看点

自绘制HT For Web ComboBox下拉框组件

首先我们先来目睹下效果:

自绘制HT For Web ComboBox下拉框组件
自绘制HT For Web ComboBox下拉框组件

那么接下来就开始具体的方案介绍,废话不多说,上代码:

这是背景渐变效果列表的具体构建代码,我来描述下具体的设计思路:

通过遍历gradient数组来动态创建gradient对应的矢量图,并将矢量图存放在gradientImages的数组变量中;

在drawValue方法中需要传入的参数有:g(画笔),value(对应comboBox中values),selected(是否被选中),x,y(画笔的其实绘制坐标x,y),w,h(画笔绘制的宽高w,h);

通过ht.Default.drawCenterImage()方法将数量图元绘制到指定位置;

通过ht.Default.drawText()方法将要显示的的值绘制到指定的位置;

自绘制HT For Web ComboBox下拉框组件
自绘制HT For Web ComboBox下拉框组件

代码很简单,做的事情也很简单,接下来我们就来分析下代码的具体实现:

方法的入参:dataModel(数据容器),oldValue(comboBox老值), newValue(comboBox新值), style(要改变的样式名称), scope(方法调用者);

从dataModel中获取相应的selectionModel sm;

根据sm.size()来判断在GraphView中选取了多少个data,如果一个都没选中,则修改dataModel中的所有data的属性;如果有选中的data,则只修改所选中data的属性。

继续阅读