2012-02-14 24 views
3

私はプログレスバーのようなものを描こうとしています。しかし、私の場合、プログレスバーは、以下に示すように色の異なる掃引円で囲まれた円です(図2は、黄色で示されたいくつかの進捗状況を持つデザインのスナップショットを示しています)。ジョブが完了すると、サークル全体が黄色になります。 RES /描画可能/ circle.xmlで斬新な円弧を描くアンドロイドドロウダブル円

:この私は、XMLレイアウトを使用して円を作成したいと、私は次のコードでそれを行うことができる午前ようにするに

enter image description here

<solid android:color="@color/red" /> 

<size 
    android:height="200dp" 
    android:width="200dp" /> 

<padding 
    android:bottom="10dp" 
    android:left="10dp" 
    android:right="10dp" 
    android:top="10dp" /> 

私はちょうどでframeLayoutの背景として、これを設定する私のメインのレイアウトでは210

...

<FrameLayout 
     android:id="@+id/frameLayout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/circle" > 

    </FrameLayout> 

</LinearLayout> 

私は私がhttp://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Arcs.html

でAndroidのデモ・コードで与えられた例を使用して円弧を描画する方法を知っていますこれらの2つをどのように組み合わせて掃除をするかについて少し苦労しています。デモのようにスレッドを作成してonDrawを作成する必要があることはわかっていますが、描画された円の中心に掃除する円弧の中心を設定するにはどうすればよいですか?そして、Javaコードはどのように見えるでしょうか?ありがとう!

+0

アニメーションを処理するカスタムビューを作成する必要があるかもしれないと思います。プラス面では、あまりにも悪くないはずです。 – AedonEtLIRA

+0

私はデモに基づいてそれを行う方法を知っています。私はxmlでレイアウト全体を作成し、コード内に「スイープ」円弧部分を追加することができると期待していました。すでに定義されているレイアウトにカスタムビューを配置することができれば可能です。 – serverman

+0

できます。 http://developer.android.com/guide/topics/ui/custom-components.html#modifying – AedonEtLIRA

答えて

2

私は前述のデモで示したように解決策をとることに決めました。私はスイープアークを表すカスタムビューを作成しました。私はそれをコードのように配置しました(関連するコードが表示されます)

<LinearLayout 
     ...> 

     <com.example.SweepingArcView 
      android:id="@+id/sweepingArc" 
      android:layout_width="210dp" 
      android:layout_height="210dp" 
      android:layout_marginTop="20dp" 
      android:layout_weight="1" /> 

     ... 
    </LinearLayout> 

次に、デモコードに示されているようにスイープアークを描きます。返事をいただいた皆さんのためにもありがとうございました!

+0

自分の答えを正しいものとしてマークする必要があります – gian1200