我想创建一个进度条ProgressBar屏幕截图,类似于给定的图像,其中的星形图像应该根据时间(每秒)减少。那么,请指导我怎么做?我正在使用倒计时计时器的处理程序timeString*我们从不同的类获得
String timestring = getIntent().getStringExtra("ageintent");
timereceived = Integer.parseInt(timestring);
seekbar.setMax(timereceived);
seekbar.setClickable(false);
timereceived--;
time.setText(String.valueOf(timereceived));
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
handler = new Handler();
run = new Runnable() {
@Override
public void run() {
int seconds = Integer.parseInt(timeseconds.getText().toString());
int timechange = Integer.parseInt(time.getText().toString());
seekbar.setProgress(seconds);
seconds--;
timeseconds.setText(String.valueOf(seconds));
if (seconds == 0 && timechange == 0) {
Toast.makeText(Naughty_Step.this, "Your punishment is completed", Toast.LENGTH_SHORT).show();
soundplayer.start();
timereceived--;
} else if (seconds == 0) {
timeseconds.setText("59");
timechange--;
seekbar.setProgress(seconds);
time.setText(String.valueOf(timechange));
// int min= Integer.parseInt(time.getText().toString());
// seekbar.setProgress(min);
handler.postDelayed(this, 1000);
} else {
handler.postDelayed(this, 1000);
}
}
};
handler.postDelayed(run, 1000);
}
尝试下面的-
SeekBar seekBar1 = (SeekBar)findViewById(R.id.seekBar1);
drw = getResources().getDrawable(R.drawable.ic_launcher);
seekBar1.setOnSeekBarChangeListener(new yourListener());
private class yourListener implements SeekBar.OnSeekBarChangeListener {
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
iSize = 100 - progress;
tv.setText(String.valueOf(new Integer(progress)));
drw = resize(drw);
seekBar.setThumb(drw);
}
public void onStartTrackingTouch(SeekBar seekBar) {}
public void onStopTrackingTouch(SeekBar seekBar) {}
}
//Reduce size of seekbar
private Drawable resize(Drawable image) {
Bitmap b = ((BitmapDrawable)image).getBitmap();
Bitmap bitmapResized = Bitmap.createScaledBitmap(b, iSize, iSize, false);
return new BitmapDrawable(getResources(), bitmapResized);
}
将其添加为活动或片段的内部类need-progressbar reduce。
class CounterClass extends CountDownTimer {
int totalDuration;
public CounterClass(long millisInFeature, long countDownInterval) {
// TODO Auto-generated constructor stub
super(millisInFeature , countDownInterval);
this.totalDuration =millisInFeature
}
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
int progress =((millisUntilFinished * 100 / totalDuration))
progressbar.setProgress(progress);
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
}
oncreate()或事件启动
(new CounterClass(30000,1000)).start();