关键词:
- I have not tested on android- This is not animated as I did not need it for my needs. To make it animated, look at the second to last line in the function `layer3.transform = Ti.UI.create2DMatrix().rotate(angle);` You should be able to animate the rotation angle.
var win = Ti.UI.createWindow({ width:'100%', height:'100%' }); win.open(); function circularProgressBar(options) { var opts = options; if (opts.percent == null || opts.percent > 1 || opts.percent < 0) opts.percent = 1; if (opts.size == null) opts.size = 46; if (opts.margin == null) opts.margin = 4; if (opts.backgroundColor == null) opts.backgroundColor = '#fff'; if (opts.progressColor == null) opts.progressColor = '#4ba818'; if (opts.topper == null) opts.topper = {}; if (opts.topper.color == null) opts.topper.color = '#fff'; if (opts.topper.size == null) opts.topper.size = 36; if (opts.font == null) opts.font = {}; if (opts.font.visible == null) opts.font.visible = true; if (opts.font.size == null) opts.font.size = 12; if (opts.font.color == null) opts.font.color = '#900'; if (opts.font.shadowColor == null) opts.font.shadowColor = '#aaa'; if (opts.font.shadowRadius == null) opts.font.shadowRadius = 1; if (opts.font.shadowOffset == null) opts.font.shadowOffset = {}; if (opts.font.shadowOffset.x == null) opts.font.shadowOffset.x = 0; if (opts.font.shadowOffset.y == null) opts.font.shadowOffset.y = 1; var mainHolder = Ti.UI.createView({ left: options.left, right: options.right, top: options.top, bottom: options.bottom, width: opts.size + opts.margin, height: opts.size + opts.margin, borderRadius: (opts.size + opts.margin) / 2, backgroundColor: opts.backgroundColor }); var holder = Ti.UI.createView({ width: opts.size, height: opts.size, borderRadius: opts.size / 2 }); var layer1 = Ti.UI.createView({ width: opts.size, height: opts.size, borderRadius: opts.size / 2, backgroundColor: opts.progressColor }); var layer2 = Ti.UI.createView({ left: 0, width: opts.size / 2, height: opts.size, anchorPoint: { x: 1, y: 0.5 }, backgroundColor: opts.backgroundColor }); var layer3 = Ti.UI.createView({ right: 0, width: opts.size / 2, height: opts.size, anchorPoint: { x: 0, y: 0.5 }, backgroundColor: opts.backgroundColor }); var layer4 = Ti.UI.createView({ right: 0, width: opts.size / 2, height: opts.size, anchorPoint: { x: 0, y: 0.5 }, backgroundColor: opts.progressColor }); var topper = Ti.UI.createView({ width: opts.topper.size, height: opts.topper.size, borderRadius: opts.topper.size / 2, backgroundColor: opts.topper.color }); var percentText = Ti.UI.createLabel({ visible: opts.font.visible, width: Ti.UI.SIZE, height: Ti.UI.SIZE, color: opts.font.color, font: { fontSize:opts.font.size }, shadowColor: opts.font.shadowColor, shadowRadius: opts.font.shadowRadius, shadowOffset: { x: opts.font.shadowOffset.x, y: opts.font.shadowOffset.y }, textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER, text: (opts.percent * 100) + '%' }); mainHolder.add(holder); topper.add(percentText); holder.add(layer1); holder.add(layer2); holder.add(layer3); holder.add(layer4); holder.add(topper); var percent = opts.percent; var angle = 360 * percent; layer2.visible = (angle > 180) ? false : true; layer4.visible = (angle > 180) ? true : false; layer3.transform = Ti.UI.create2DMatrix().rotate(angle); return mainHolder; } /* Circular Progress Bar Options percent: A value between 0 and 1 size: The size of the circular progress bar margin: The margin of the circular progress bar backgroundColor: The backgroundColor of the circular area progressColor: The backgroundColor of the progress bar -- topper.color: The center circle color topper.size: The size of the center circle --- font.visible: Boolean to display the font or not font.color: The font color font.size: The fontSize font.shadowColor: The font shadow color font.shadowRadius: The font shadow radius font.shadowOffset.x: The x value of the shadow shadowOffset font.shadowOffset.y: The y value of the shadow shadowOffset */ var circleProgress = circularProgressBar({ percent:0.35, size:46, margin:4, backgroundColor:'#fff', progressColor:'#4ba818', topper: { color:'#fff', size: 36 }, font: { visible: true, color: '#900', size: 12, shadowColor: '#aaa', shadowRadius: 1, shadowOffset: { x: 0, y: 1 } } }); win.add(circleProgress);
如何在Android中创建一个在其上旋转的圆形进度条?
...蓝色进度条,它在60秒或任何秒数内以从0到360的圆形路径移动。这是我的示例代码。<Progr 查看详情
异步下载圆形进度条显示进度
圆形进度条参考链接即可:使用css3实现圆形进度条需求点击下载后遮罩层显示下载进度:1.圆形进度条参考以上链接,有点小瑕疵,可更改定位距离实现重合。 2.遮罩层:.lbOverlay{ display:none; position:fixed; left:0; ... 查看详情
ios制作个圆形进度条
参考技术A1.需要做个这样的圆形进度条 自定义弹窗view就不说了,主要是这个圆形进度view,底色是灰色然后有进度灰色被黑色覆盖或者说变成黑色首先我们自定一个view,加个uilabel做进度lbael@property(nonatomic,strong)UILabel*percentLabel;/... 查看详情
圆形进度条 Android
】圆形进度条Android【英文标题】:CircularProgressBarAndroid【发布时间】:2015-06-0320:06:35【问题描述】:我想创建一个分段的圆形进度条,其行为类似于倒数计时器,这样每个分段都有自己的时间限制。有一个iOS应用pTimer+,我想在An... 查看详情
带有图像和圆形进度条的圆形按钮
】带有图像和圆形进度条的圆形按钮【英文标题】:Circularbuttonwithimageandcircularprogressbar【发布时间】:2019-12-2819:29:53【问题描述】:我正在尝试制作一个按钮,里面有一个图像,外面有一个圆形进度条,按下按钮后是彩色的。我... 查看详情
带圆角的 Android 圆形进度条
】带圆角的Android圆形进度条【英文标题】:Androidcircularprogressbarwithroundedcorners【发布时间】:2016-08-0623:37:54【问题描述】:我正在尝试获得一个带有圆角的圆形进度条,如下所示。但到目前为止,我无法获得圆角,我能够获得圆... 查看详情
googlechrome圆形进度条
Conmajia?2012UpdatedonFeb.21,2018GoogleChrome的圆形进度条。Demo功能显示百分比(0-100)。如果进度值达到100%,则将闪烁指定次数。属性BlinkCount,结束后闪烁几次。0为不闪烁,默认2.BlinkSpeed,闪烁速度,0-255,默认10.Image,中央图标SpokeCol... 查看详情
qt第三方圆形进度条-及其改进
Qt第三方圆形进度条的改进要实现一个圆形的进度条功能,在网上找到一个比较出名的第三方封装类:QRoundProgressBar,地址:sourceforge的QRoundProgressBar 功能封装的还是不错,提供了3种模式,线形、圆环、饼状。使用过程中发现... 查看详情
css3做圆形进度条
...天就重点讲解这个效果,首先,当有人说你能不能做一个圆形进度条效果出来时,如果是静态完整圆形进度条,那么就很简单了:.circleprogress{ width:160px; height:160px; border:20pxsolidred; border-radius:50%;}... 查看详情
Visual Basic 圆形进度条
】VisualBasic圆形进度条【英文标题】:Visualbasiccircularprogressbar【发布时间】:2015-01-1118:11:15【问题描述】:我正在尝试制作一个具有良好UI的软件,但我在VB方面并不专业......如何制作圆形进度条?举例【问题讨论】:见codeproject.... 查看详情
快速创建围绕图像的圆形进度条
】快速创建围绕图像的圆形进度条【英文标题】:Creatingacircularprogressbararoundanimageinswift【发布时间】:2016-07-2712:05:09【问题描述】:我正在尝试在图像周围创建一个圆形进度条,如下面的屏幕截图所示。到目前为止,我已经设法... 查看详情
纯css3实现圆形进度条动画
悄悄地,GIF格式的进度条已经越来越少,CSS进度条如雨后春笋般涌现。今天要介绍的这个CSS3进度条,效果和FlymeOS4上的加载动画一样。首先,来看下最终的效果: 查看详情
如何更改圆形进度条的颜色?
】如何更改圆形进度条的颜色?【英文标题】:Howtochangecolorincircularprogressbar?【发布时间】:2011-07-1707:03:54【问题描述】:我在Android上使用循环进度条。我想改变它的颜色。我正在使用"?android:attr/progressBarStyleLargeInverse"风格。那... 查看详情
javaswing圆形加载进度条(代码片段)
android中的圆形进度条
】android中的圆形进度条【英文标题】:Circularprogressbarinandroid【发布时间】:2015-09-1318:26:05【问题描述】:我想实现一些圆形进度条,中间有一个按钮,就像在whatsapp中一样。有谁知道一个好的图书馆来实现这一点?我想要完成... 查看详情
如何重新加载圆形进度条
】如何重新加载圆形进度条【英文标题】:howtoreloadacircularprogressbar【发布时间】:2015-12-0921:59:58【问题描述】:我对画布以及如何创建圆形进度条进行了一些网络搜索,我得到了这个。我对在网上找到的代码片段进行了一些更... 查看详情
如何创建圆形样式进度条
】如何创建圆形样式进度条【英文标题】:HowtocreateaCircularStyleProgressBar【发布时间】:2011-06-1918:24:09【问题描述】:我需要帮助来实现这样的循环进度条:我应该如何通过增加Value属性来实现Circle来填充?【问题讨论】:相关链... 查看详情
如何在kivy中制作圆形进度条?
】如何在kivy中制作圆形进度条?【英文标题】:Howtomakecircularprogressbarinkivy?【发布时间】:2018-11-0516:04:11【问题描述】:我想用kivy和python制作一个简单的圆形进度条。我搜索了在线文档和GitHub曲目,但没有找到解释循环进度条... 查看详情