5

私はカスタム円形プログレスホイールのためにやっています。ここで私が必要としているのは、プログレス ホイールが 100% の進行を終えるとです。次に、もう一度クリックすると、実行時に進行中の色を変更する必要があります...

このリンクからコードをダウンロードしました.. https://github.com/Todd-Davies/ProgressWheel

注:ボタンをクリックすると、進行状況が進行し始めます。その進行状況バーの円はすでに 1 つの色です。進行状況が 100% 完了したら、もう一度開始したいのですが、そのときは、実行時に色を赤に変更する必要があります...

このリンクも試しました..このリンクは、デフォルトの進行状況バー用です。しかし、私はカスタムプログレスバーに使用しています。そのため、このメソッドを次のように使用することはできませ ... .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();
}
4

2 に答える 2