অ্যান্ড্রয়েডে বিজ্ঞপ্তি প্রগতিবার কীভাবে তৈরি করবেন? [বন্ধ]


152

গুগল ফিট অ্যাপ্লিকেশনগুলির মতো একটি বৃত্তাকার অগ্রগতি বারটি কীভাবে তৈরি করবেন সে সম্পর্কে আপনার কোনও ধারণা আছে? নীচের চিত্রটি পছন্দ করুন।

এখানে চিত্র বর্ণনা লিখুন


7
আমি আসলে এই জাতীয় কিছু তৈরি করেছি। এটি একটি সহায়ক সূচনা পয়েন্ট হতে পারে? github.com/daentech/CircularDemo
daentech

@ ডেনটেক দুর্দান্ত! আপনাকে ধন্যবাদ
মোহাম্মদ

1
উদাহরণস্বরূপ লোডিং অংশের কিনারাগুলি বৃত্তাকার যেখানে কোনও উত্তর পেয়েছে?
সিয়েব

1
@ সিয়েব আপনি আমার জবাবগুলিতে যে লাইব্রেরিটি উল্লেখ করেছেন তা ব্যবহার করতে পারেন you এটি আপনার পছন্দমতো লোডিং অংশটি পেতে কাস্টমাইজ করা যায়।
WannaBeGeek

2
হতে পারে এটি আপনাকে সঠিক দিক নির্দেশ করতে পারে github.com/grmaciel/two-level-circular-progress-bar
gmemaro

উত্তর:


128

আপনি এই চেনাশোনা অগ্রগতি লাইব্রেরি চেষ্টা করতে পারেন

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

দ্রষ্টব্য: অগ্রগতি দেখার জন্য দয়া করে সর্বদা একই প্রস্থ এবং উচ্চতা ব্যবহার করুন

DonutProgress:

 <com.github.lzyzsd.circleprogress.DonutProgress
        android:id="@+id/donut_progress"
        android:layout_marginLeft="50dp"
        android:layout_width="100dp"
        android:layout_height="100dp"
        custom:circle_progress="20"/>

CircleProgress:

  <com.github.lzyzsd.circleprogress.CircleProgress
        android:id="@+id/circle_progress"
        android:layout_marginLeft="50dp"
        android:layout_width="100dp"
        android:layout_height="100dp"
        custom:circle_progress="20"/>

ArcProgress:

<com.github.lzyzsd.circleprogress.ArcProgress
        android:id="@+id/arc_progress"
        android:background="#214193"
        android:layout_marginLeft="50dp"
        android:layout_width="100dp"
        android:layout_height="100dp"
        custom:arc_progress="55"
        custom:arc_bottom_text="MEMORY"/>

তারা কীভাবে অগ্রগতিতে মানগুলি প্রদর্শন করছে আমি সুরক্ষিত শূন্যপদ্রে প্রগ্রেসআপডেট ()। সুপার.অনগ্রোগ্রেসআপডেট (); লগ.ডি (TAG, "প্রোপ্রেসআপডেট"); প্রগতিবার.সেটগ্রোগ্রেস (প্রগতিবার.সেটগ্রোগ্রেস () + জে); লগ.ডি (TAG, "অনগ্রসর আপডেট পার্ক:" + জে); updateMemoryAndCountValues (); } তবে এটি কাজ করছে না
এরম

@ টপ ক্যাট আমি কীভাবে বৃত্তের অগ্রগতিতে জুম বা এমিকিনউ.ব্লগস্পট.কম
২০১৩ /

29
সর্বাধিক লাইসেন্স
radu122

19
ডাব্লুটিএফ লাইসেন্স। হা হা।
z21

1
আনবাউন্ড উপসর্গ ত্রুটি পেয়েছে
অনিমেষ মঙ্গলা

338

এটি নিজের তৈরি করা সহজ

আপনার বিন্যাসে ProgressBarএকটি নির্দিষ্ট অঙ্কনযোগ্য নিম্নলিখিতগুলি অন্তর্ভুক্ত করুন ( নোটের পরিবর্তে মাত্রাগুলি থেকে প্রস্থটি পাওয়া উচিত )। সর্বাধিক মান এখানে গুরুত্বপূর্ণ:

<ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:max="500"
    android:progress="0"
    android:progressDrawable="@drawable/circular" />

নিম্নলিখিত আকারের সাথে এখন আপনার সংস্থানগুলিতে অঙ্কনযোগ্য তৈরি করুন। ব্যাসার্ধ (আপনি innerRadiusপরিবর্তে ব্যবহার করতে পারেন innerRadiusRatio) এবং বেধ মানগুলির সাথে খেলুন ।

বিজ্ঞপ্তি (প্রাক ললিপপ বা এপিআই স্তর <21)

   <shape
        android:innerRadiusRatio="2.3"
        android:shape="ring"
        android:thickness="3.8sp" >
        <solid android:color="@color/yourColor" />
   </shape>

বিজ্ঞপ্তি (> = ললিপপ বা এপিআই স্তর> = 21)

    <shape
        android:useLevel="true"
        android:innerRadiusRatio="2.3"
        android:shape="ring"
        android:thickness="3.8sp" >
        <solid android:color="@color/yourColor" />
     </shape>

useLevel হয় "FALSE" এপিআই লেভেল 21 (Lollipop এ) ডিফল্টরূপে।

অ্যানিমেশন শুরু করুন

আপনার কোডের পরবর্তী আপনার লেআউটের ObjectAnimatorঅগ্রগতি ক্ষেত্রটিকে প্রাণবন্ত করতে একটি ব্যবহার করুন ProgessBar

ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", 0, 500); // see this max value coming back here, we animate towards that value
animation.setDuration(5000); // in milliseconds
animation.setInterpolator(new DecelerateInterpolator());
animation.start();

অ্যানিমেশন বন্ধ করুন

progressBar.clearAnimation();

PS উপরের উদাহরণগুলির মতো নয়, এটি মসৃণ অ্যানিমেশন দেয়।


6
পদক্ষেপগুলি এখানে রয়েছে, আপনি যদি এটি অনুসরণ করেন তবে 99% নিশ্চিত আপনি ফলাফল পেয়েছেন।
মুর্তজা খুরশীদ হুসেন

5
একটি যাদুমন্ত্র মত কাজ করে. আশা করি আমি এটি একাধিকবার উপুড় করে তুলতে পারি
মোশতাক জামিল

2
আমার জন্য কাজ করে না
দৃশ্যটি

9
আমি জানি না আপনি কী করছেন, দৃশ্য দৃশ্যমান নয় সম্পূর্ণ সমস্যার বিবরণ নয়
মুর্তজা খুরশীদ হুসেন

6
আপনার উত্তর দেখে মনে হচ্ছে এটি খুব বেশি কার্যকর হতে পারে .. তবে একটি ছবি = 1000 শব্দ .. তাই আপনি যদি নিজের আউটপুটটিকে স্ক্রিনশট হিসাবে যুক্ত করেন এটি ভবিষ্যতের ব্যবহারকারীদের জন্য উপকারী হতে পারে - আইএমএইচও
রঞ্জিত কুমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.