- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在做自定义圆形进度轮。这是我需要的,一旦进度轮完成百分百的进度。然后,当我再次单击时,我需要在运行时更改进度颜色...
我从这个链接下载了代码.. https://github.com/Todd-Davies/ProgressWheel
注意:我点击一个按钮,进度开始进行。那个进度条圈已经有一种颜色了。进度完成 100% 后,我想让它重新开始,那个时候,我需要在运行时将颜色更改为红色...
我也试过这个链接..这个链接用于默认进度条。但是,我正在使用自定义进度条。这就是为什么,我不能像这样使用这种方法...... http://myandroidsolutions.blogspot.in/2012/11/android-change-indeterminate-progress.html http://www.tiemenschut.com/how-to-customize-android-progress-bars/
谁能帮我完成这个任务..提前致谢....
我的代码: onCreate 方法:
increment.setOnClickListener(new OnClickListener() {
@SuppressLint("WrongCall")
public void onClick(View v) {
Log.v("test", "-----increment button clicked--------");
if(!running) {
progress1 = (int) 370 ;
Thread s = new Thread(r);
s.start();
}
}
});
final Runnable r = new Runnable() {
@SuppressLint("WrongCall")
public void run() {
//Log.v("test", "----- thread called--------");
running = true;
//Log.v("test", "progress:"+progress);
//Log.v("test", "progress1:"+progress1);
progress2 = progress - progress1 ;
//progress = 360 , progress1 = uservalue
Log.v("test", "progress:"+progress);
Log.v("test", "progress1:"+progress1);
Log.v("test", "progress2 = progress - progress1:"+progress2);
//percentage = pw_two.incrementProgress();
// pw_two.setBarColor(Color.parseColor("#FF0000"));
while(progress2<360) {
percentage = pw_two.incrementProgress();
Log.v("test","percentage:"+percentage);
progress2++;
try {
Thread.sleep(15);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// here when crossing 360 above , then color change effect needed..
//why we using this function, when put ten minutes for break,
who taking more than ten minutes,,
// then that time itself, need to change color..
i finish that time calculation....
if(progress2 > 359) {
// here.. need to call this method two times.. then only, wheel will be refreshed......
//onPause_Reset_ProgressWheelOne();
onPause_Reset_ProgressWheelOne();
//break;
}
}
running = false;
}
};
public void onPause_Reset_ProgressWheelOne() {
Log.v("test", "onPause_Reset_ProgressWheelOne--------");
progress = 360;
pw_two.setRimColor(Color.parseColor("#fe854c")); //1988c4 //fe854c
pw_two.setBarColor(Color.RED);
//pw_two.resetCount();
pw_two.refreshWheel();
// progress = 0;
// pw_two.setProgress(0);
}
ProgressWheel.java CLass :
public void refreshWheel() {
setupPaints();
}
最佳答案
在 ProgressWheel.java
(com.todddavies.components.progressbar.ProgressWheel) 中,添加一个方法:
public void refreshTheWheel() {
setupPaints();
}
I click on a button, the progress starts progressing. that progress bar circle already one color. After the progress complete 100%, I want it to start again, that time , i need to change the color to be red runtimely
当你需要改变颜色时:
// Progress is 100%
if (progress == 360) {
// Change the color
mProgressWheel.setBarColor(Color.RED);
// Refresh
mProgressWheel.refreshTheWheel();
// Reset progress
progress = 0;
mProgressWheel.setProgress(0);
// You can also use:
// mProgressWheel.resetCount();
}
注意:请确保允许编辑/添加到此库。
编辑:
查看以下更改是否为您提供了所需的输出:
声明全局变量:
// `progress` isn't needed
// int progress = 360;
int progress1 = 0;
int progress2 = 0;
....
....
increment.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.v("test", "-----increment button clicked--------");
if(!running) {
// I am not sure what you are using `progress1` for
// progress1 = (int) 370 ;
progress1 = 0;
progress2 = 0;
// reset `pw_two`
pw_two.resetCount();
Thread s = new Thread(r);
s.start();
}
}
});
现在,Runnable
:
final Runnable r = new Runnable() {
public void run() {
running = true;
// I could not figure out why you are using this
// Can you explain what this does?
// progress2 = progress - progress1 ;
while(progress2 < 361) {
pw_two.incrementProgress();
// Increment both `progress1` and `progress2`
progress2++;
progress1++;
try {
Thread.sleep(15);
} catch (InterruptedException e) {
e.printStackTrace();
}
// Here, reset `progress2`, but not `progress1`
if (progress2 == 360) {
pw_two.setRimColor(Color.parseColor("#fe854c")); //1988c4 //fe854c
pw_two.setBarColor(Color.RED);
pw_two.refreshWheel();
progress2 = 0;
pw_two.setProgress(0);
// Log value of `progress1`
Log.v("Progress 1", "progress1 is " + progress1);
}
}
running = false;
}
};
您不需要调用其他方法。在 progressValue = 360
处,颜色将切换。如果我以某种方式误解了您要实现的目标,您能否用一些用例进行解释?
关于android - 在运行时以编程方式在 android 中更改自定义进度轮中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18503718/
SO亲爱的 friend 们: 2014 年 3 月 18 日。我正在处理一种情况,在使用 ng-repeat 时,数组内的元素(我从 Json 字符串中获取)更改了原始顺序。 需要明确的是,数组中的
有很多问题询问如何在 JavaScript 单击处理程序中更改 div 的类,例如,此处:Change Div style onclick .我理解得很好(只需更改 .className),并且它有效
我从access导入了一个数据库到mysql,但其中一个表的列名“股数”带有空格,但我尝试更改、替换甚至删除列名,但失败了。任何人都可以帮助解决这一问题 String UpdateQuary = "U
我正在做一个随机的学校元素。 目前,我有一个包含两个 CSS 的页面。一种用于正常 View ,一种用于残障人士 View 。 此页面还包括两个按钮,它们将更改使用的样式表。 function c
我需要使用 javascript 更改 HTML 元素中的文本,但我不知道该怎么做。 ¿有什么帮助吗? 我把它定义成这样: Text I want to change. 我正在尝试这样做: docum
我在它自己的文件 nav_bar.shtml 中有一个主导航栏,每个其他页面都包含该导航栏。这个菜单栏是一个 jQuery 菜单栏(ApyCom 是销售这些导航栏的公司的名称)。导航栏上的元素如何确定
我正在摆弄我的代码,并开始想知道这个变化是否来自: if(array[index] == 0) 对此: if(!array[index] != 0) 可能会影响任何代码,或者它只是做同样的事情而我不需
我一直在想办法调整控制台窗口的大小。这是我正在使用的函数的代码: #include #include #define WIDTH 70 #define HEIGHT 35 HANDLE wHnd;
我有很多情况会导致相同的消息框警报。 有没有比做几个 if 语句更简单/更好的解决方案? PRODUCTS BOX1 BOX2 BOX3
我有一个包含这些元素的 XELEMENT B Bob Petier 19310227 1 我想像这样转换前缀。 B Bob Pet
我使用 MySQL 5.6 遇到了这种情况: 此查询有效并返回预期结果: select * from some_table where a = 'b' and metadata->>"$.countr
我想知道是否有人知道可以检测 R 中日期列格式的任何中断的包或函数,即检测日期向量格式更改的位置,例如: 11/2/90 12/2/90 . . . 15/Feb/1990 16/Feb/1990 .
我希望能够在小部件显示后更改 GtkButton 的标签 char *ButtonStance == "Connect"; GtkWidget *EntryButton = gtk_button_ne
我正在使用 Altera DE2 FPGA 开发板并尝试使用 SD 卡端口和音频线路输出。我正在使用 VHDL 和 C 进行编程,但由于缺乏经验/知识,我在 C 部分遇到了困难。 目前,我可以从 SD
注意到这个链接后: http://www.newscientist.com/blogs/nstv/2010/12/best-videos-of-2010-progress-bar-illusion.h
我想知道在某些情况下,即使剧本任务已成功执行并且 ok=2,ansible 也会显示“changed=0”。使用 Rest API 和 uri 模块时会发生这种情况。我试图找到解释但没有成功。谁能告诉
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: add buttons to push notification alert 是否可以在远程通知显示的警报框中指定有
当您的 TabBarController 中有超过 5 个 View Controller 时,系统会自动为您设置一个“更多” View 。是否可以更改此 View 中导航栏的颜色以匹配我正在使用的颜
如何更改.AndroidStudioBeta文件夹的位置,默认情况下,该文件夹位于Windows中的\ .. \ User \ .AndroidStudioBeta,而不会破坏任何内容? /编辑: 找
我目前正在尝试将更具功能性的编程风格应用于涉及低级(基于 LWJGL)GUI 开发的项目。显然,在这种情况下,需要携带很多状态,这在当前版本中是可变的。我的目标是最终拥有一个完全不可变的状态,以避免状
我是一名优秀的程序员,十分优秀!