بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ترسیم دایره ای در حال پر شدن(حل شد)

مدیریت گفتگو
Iman1000 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام آموزش استاد کشیدن یک قوس است که تا 360درجه ادامه پیدا می کنه

حالا من دایره ای می خوام که با افزایش درصد همان persent خودمون یواش یواش پر بشه مثل لیوان در حال پر شدن

 

نظرات

Reza 11 سال پیش
سلام ، همون آموزشی که میگی ، آموزش دومه . آموزش چهارم ( باران ) رو ببین دقیقا توی اون توضیح داده ، منتها باید یه کم تغییرش بدی . یه ArrayList از دایره ها درست میکنی و با افزایش درصد یه دایره ای که شعاعش مثلا یه پیکسل اضافه شده رو به لیست اضافه میکنی و invalidate میکنی .
Iman1000 11 سال پیش
من منظورم از زیر به بالا پر شدن هست ، نه اینکه از مرکز آرام آرام پر بشه
Reza 11 سال پیش
با استفاده از همون drawArc میتونی . از زاویه 90 شروع کن و یه مقداری با توجه به درصد ازش کم کن ، و 2 برابر همون مقدار رو برای پارامتر بعدیش که مربوط به میزان جارو کردنه بذار .
Reza 11 سال پیش
البته پارامتر useCenter باید false باشه .
Iman1000 11 سال پیش
حالا یه مسئله دیگه که present رو چطور وارد کلاس کاستوم کنم؟ یعنی کلاسم رو همونجا تعریف کنم که کلاس متغیرم اونجاست ؟ یا با راهی متغیر رو برای کلاس کاستوم بفرستم؟

پاسخ‌ها 2

Iman1000 11 سال پیش

ممنونم از آقا رضا عزیز

به این شکل که درصد نمایش باید در 1.8 ضرب شود آنگاه درون اینجا من متغیر x قرار دادم

مثلا 50% که عدد داریم باید ضربدر1.8 بشه تا نتیجه 90 در بیاد تا نصف دایره رنگ بشه

 int x = (int) (precent*1.8f);

canvas.drawArc(rect, 90 - x, (2 * x), false, paint);

نظرات

Reza 11 سال پیش

    البته اگه دقت کنی انیمیشن بالا خطی نیست ، یعنی شما داری زاویه رو خطی تغییر میدی ، نه میزان پر شدن . برای اینکه میزان پر شدن واقعا با درصد جلو بره باید x رو این طوری نوشت :

 float x = (float) ((180 / 3.141592) * (Math.acos((50 - p) / 50)));
 canvas.drawArc(rect, (90 - x), (2 * x), false, Paint);

که p همون درصده که از 0 تا 100 تغییر میکنه .

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .