下のこの画像のように、円形のプログレスバーを作成したいのですが、
このプログレスバーを作成する方法がわかりません。そしてどんな資産を用意すればいいのかわからない。
5 に答える
次のリンクを試してください..私はあなたのために役に立ちます..ビューをカスタマイズして新しいビューを作成する必要があります..独自のビューをカスタマイズする代わりに、ライブラリプロジェクトを追加してビューを使用できます..
ライブラリプロジェクトについてはこれに従ってください。
http://www.androidviews.net/2013/03/holo-circular-progressbar/
http://www.androidviews.net/2013/02/circular-seekbar/
これは独自のビューをカスタマイズするためのものです
http://www.vogella.com/articles/AndroidCustomViews/article.html
この方法でビットマップを描画し、イメージ ビューに設定してみてください。ダイアログで使用して、循環進行状況ダイアログを作成します。
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);
}
ArcView Linkを使用できると思います。
それはあなたを助けるでしょう。
これを行うには、カスタム ビューを作成します。アセットについて 必要なのはいくつかのカラーコードだけだと思います。クラスを作成して View を拡張します。メソッド setProgress(int) を追加します。OnDraw() で 1 つの塗りつぶされた円を描画します。および 0 から _progress までの 1 つの弧。drawText の進行状況は中央にあります。サンプル コードを簡単に見つけることができます。それを検索します。