当我在edittext中输入数字并单击按钮时,如何更改循环搜索栏中的进度?
以下是我正在尝试做的快照
答案 0 :(得分:1)
我得到了我的问题的答案。 如果你想在上面的布局中显示像我一样的循环搜索栏,并希望发送来自服务器的值,请使用此代码:
https://github.com/RaghavSood/AndroidCircularSeekBar
根据您在CircularSeekBar类
中的要求更改其布局如果您想以编程方式为其进度发送值。然后,使用以下方法替换setProgress():
public void setProgress(int progress) //this is an Android function
{
if (this.progress != progress)
{
this.progress = progress;
if (!CALLED_FROM_ANGLE)
{
int newPercent =this.progress;
int newAngle = (newPercent * 360)/100;
this.setAngle(newAngle);
this.setProgressPercent(newPercent);
}
mListener.onProgressChange(this, this.getProgress());
CALLED_FROM_ANGLE = false;
}
}
现在,在您使用此循环搜索栏的活动中,使用SetProgress()方法设置其进度。像这样: -
com.exp.CustomControls.CircularSeekBar dynamicSeekBar=(com.exp.CustomControls.CircularSeekBar)findViewById(R.id.img_score_rovr);
dynamicSeekBar.setMaxProgress(100);
dynamicSeekBar.setProgress(progress_score); // Here, you can send any value
dynamicSeekBar.invalidate();
一切顺利......
如果您遇到任何问题,请告诉我.......我有专业知识
答案 1 :(得分:1)
http://devadvance.com/circularseekbar/
我为另一个应用程序开发了一个全新的CircularSeekBar,并决定将其作为开源。 RaghavSood的功能正常,但不可自定义,并且没有正确运行的setProgress / getProgress方法。
让我知道这是否有用。
编辑:在布局上使用TextView时回调:
public class CircleSeekBarListener implements OnCircularSeekBarChangeListener {
@Override
public void onProgressChanged(CircularSeekBar seekBar, int progress, boolean fromUser) {
// Put your code here
TextView text = (TextView)findViewById(R.id.TextView1);
text.setText("" + progress);
}
}
答案 2 :(得分:0)
更改您ProgressBar
实例上必须致电setProgress(int)
的{{1}}的进度
答案 3 :(得分:0)
您可以尝试使用这段简单的代码来创建循环进度条。
private void circularImageBar(ImageView iv2, int i) {
Bitmap b = Bitmap.createBitmap(300, 300,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(b);
Paint paint = new Paint();
paint.setColor(Color.parseColor("#c4c4c4"));
paint.setStrokeWidth(10);
paint.setStyle(Paint.Style.STROKE);
canvas.drawCircle(150, 150, 140, paint);
paint.setColor(Color.parseColor("#FFDB4C"));
paint.setStrokeWidth(10);
paint.setStyle(Paint.Style.FILL);
final RectF oval = new RectF();
paint.setStyle(Paint.Style.STROKE);
oval.set(10,10,290,290);
canvas.drawArc(oval, 270, ((i*360)/100), false, paint);
paint.setStrokeWidth(0);
paint.setTextAlign(Align.CENTER);
paint.setColor(Color.parseColor("#8E8E93"));
paint.setTextSize(140);
canvas.drawText(""+i, 150, 150+(paint.getTextSize()/3), paint);
iv2.setImageBitmap(b);
}