2011-11-08 8 views
0

シーク・バーをスライダとして使用して、アニメーション・グラフを作成できるようにラインを上下に移動する方法を探しています。 私はこれまでにこれを持っています:シーカー・バーを使ってアンドロイドのダイアグラムをアニメーション化する方法

私はメインレイアウトを使用するアクティビティを作成しました。 このメインレイアウトには、シーカ・バーとグラフと呼ばれるカスタム・ビューがあります。 私が使用してグラフのクラスを参照している:私は、ビューを拡張して対応するグラフのクラスを作成し、その中に私が使用して赤い横線が引かれている

<com.mypackagename.Graph 
Android:id=”@+id/graph”/> 

を:

@Override public void onDraw(Canvas canvas){ 

paint = new Paint(); 
paint.setARGB(255, 255, 0, 0); 
paint.setStrokeWidth(2); 
paint.setStyle(Style.STROKE); 
canvas.drawLine(0, 200, 200, 200, paint); 

      } 

私の問題がありますどのようにシーカー・バーにこの行を更新させることができますか?

次のように私は、求職者のバーのコードを書かれている:

my_seekerbar.setOnTouchListener(new SeekBar.OnTouchListener() 
{ 
    public boolean onTouch(View v, MotionEvent arg1) 
    { 
     View parent = (View)v.getParent(); 
         SeekBar seekBar = (SeekBar)v; 
      int progress = seekBar.getProgress(); 



     } 
     return false; 
    } 
}); 

私は私のラインのy座標を設定し進捗状況の値を使用しようとしています。 私は長い間この問題に取り組んできました。 間違っていますか? onTouch()

+0

onseekbar change listnerを実装し、ondraw()メソッドでinvalidate()を呼び出してビューを再描画します。または、オンタッチリスナーでtrueを返します。 –

答えて

0

あなたはonDraw()でアクセスメンバ変数を変更することができます。

シークバーを移動したときに、invalidate()を呼び出してビューの再描画を強制すると、これでラインを変更できるonDraw()が呼び出されます。

+0

ありがとうございます。私はあなたの助けを借りて非常に感謝しています。 –

関連する問題