先上个效果图吧,别看图片,那是临时找的,比例不对,主要看滚动效果,最上面的状态条是虚拟器的,很丑!这半透明的效果还没有去研究怎么去掉,知道的朋友可以提供解决方案吗?
![](https://i-blog.csdnimg.cn/blog_migrate/82904d003caf8dcbcc4038d09e0c318c.gif)
继承自原生TRectangle来自定义的组件,同时支持Android和IOS开发的,支持手势左右滑动,支持定时自动滚动,未使用其他第三方组件,组件分为两个工程,一个是滚动组件(FlameFMXExtend),另一个是该滚动组件的设计时属性设计器(FlameFMXExtendIDE),需要先编译FlameFMXExtend并安装,再编译FlameFMXExtendIDE和安装,才能使用APP的工程来设计,三个工程文件都放到下载地址:
https://download.csdn.net/download/u011784006/10319874
使用方法:
1、两个包安装完成后,新建FMX工程,在组件列表中会看到增加的组件:
![](https://i-blog.csdnimg.cn/blog_migrate/879bb1633461f108c90e8b26648a124e.png)
2、将该组件防止到From或Frame中,该组件的属性比TRectangle多了几个:
![](https://i-blog.csdnimg.cn/blog_migrate/bee95590f279db9dc460ed2fda730626.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1df1136d114fe8f7e44b5c6433bfbe5f.png)
其中:
AutoReSize是控制加入到该组件内的可视化对象是否随本组件宽度、高度变化(要不要保留这个属性,自己修改吧)
AutoScrollTimeEnabled是设置开启自动滚动定时器Timer
AutoScrollTimerInterval设置定时器Timer的时间间隔
LoopShow是设置一个对象滚动到所有对象最左或最右边时,是否自动循环从最右和最左开始显示(要不要保留这个属性,自己修改吧)
ChildObject是最重要的属性,双击后会弹出下面这个自定义的属性编辑器,为什么要用这个专用的属性编辑器?因为考虑到加入到本组件的可视化对象可能有不同对象类型,所以不写死,另外,也是为了方便直观的调整显示顺序。
![](https://i-blog.csdnimg.cn/blog_migrate/fd28f74507f486ca565fabb85061d34d.png)
如果弹出是下面这个,就表示设计时属性编辑器包(FlameFMXExtendIDE)没有安装成功。
PS:安装属性编辑器后重启一次IDE才能使用
![](https://i-blog.csdnimg.cn/blog_migrate/69fac3d49b70472b9dc07b88ce2213f6.png)
3、在专用的属性编辑器中,右边列表“未控制对象名称”是之前所有在IDE左上角Tructure中拖动到本组件的可视化对象,这里拖动了6个Image对象进来:
![](https://i-blog.csdnimg.cn/blog_migrate/0b7092032d4c63f09a770e55b7a82bd7.png)
4、然后在右边未控制对象名称选中一个对象名称加入到左边“已控制对象名称”列表中,先加入的显示在第一个,并且显示层索引也是最底层。
5、选择完成后最后关闭属性编辑器,然后在IDE中对项目进行保存即可。
名称为ScrollDotFrame的对象不要拖动到被控制对象中,该对象是显示每张图片切换效果的红色圆点(实际也无法选择到被控制对象中,要不要显示在未选择对象中,自己决定吧,可以在FlameFMXExtendIDE包中装载对象名称时过滤掉)
缺陷有一个,就是自动滚动时,本来使用TFloatAnimation动画组件来实现滑动效果,但不知道什么原因就是一闪而过,没有任何动画效果,知道的朋友也说说吧。
其他有没有BUG,请用过的提出来吧,我新建的DELPHI
开发者群:733975324