উত্তর:
পুনরায় স্থান / অঙ্কনযোগ্য ফোল্ডারে এটি রাখুন:
progress.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%"
android:pivotY="50%"
android:fromDegrees="0"
android:toDegrees="360">
<shape
android:shape="ring"
android:innerRadiusRatio="3"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:width="76dip"
android:height="76dip" />
<gradient
android:type="sweep"
android:useLevel="false"
android:startColor="#447a29"
android:endColor="#00ffffff"
android:angle="0"/>
</shape>
</rotate>
সেট startColor
এবংendColor
আপনার পছন্দ অনুযায়ী।
এখন সেট progress.xml
মধ্যেProgressBar
এর backgound।
<ProgressBar
android:id="@+id/ProgressBar01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateDrawable="@drawable/progress"
/>
21 এবং উচ্চতর API এর জন্য। অনির্দিষ্ট টিন্ট সম্পত্তিটি কেবল সেট করুন। ভালো লেগেছে:
android:indeterminateTint="@android:color/holo_orange_dark"
প্রাক-এপিআই 21 ডিভাইসগুলি সমর্থন করতে:
mProgressSpin.getIndeterminateDrawable()
.setColorFilter(ContextCompat.getColor(this, R.color.colorPrimary), PorterDuff.Mode.SRC_IN );
style="?android:attr/progressBarStyle"
না কাজ করে
1. প্রথমটি সম্পদের অধীনে অঙ্কনযোগ্য ফোল্ডারে একটি এক্সএমএল ফাইল তৈরি করুন
নাম "প্রগতি.এক্সএমএল"
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false" >
<size
android:height="76dip"
android:width="76dip" />
<gradient
android:angle="0"
android:endColor="color/pink"
android:startColor="@android:color/transparent"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
২. ফোলিং স্নিপেট ব্যবহার করে একটি অগ্রগতি বার করুন
<ProgressBar
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/relativeLayout1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/progress" />
আপনি এই কোডটি ব্যবহার করে প্রোগ্রামিয়ালি রঙ পরিবর্তন করতে পারেন:
ProgressBar v = (ProgressBar) findViewById(R.id.progress);
v.getIndeterminateDrawable().setColorFilter(0xFFcc0000,
android.graphics.PorterDuff.Mode.MULTIPLY);
আপনি যদি অগ্রগতি ডায়ালগের অগ্রগতি বারটি পরিবর্তন করতে চান তবে আপনি এটি ব্যবহার করতে পারেন:
mDilog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
ProgressBar v = (ProgressBar)mDilog.findViewById(android.R.id.progress);
v.getIndeterminateDrawable().setColorFilter(0xFFcc0000,
android.graphics.PorterDuff.Mode.MULTIPLY);
}
});
ডেটোর উত্তরে যুক্ত করতে, আমি এসআরসি_এটিওপিটিকে গুণের জন্য একটি ভাল ফিল্টার হিসাবে দেখতে পাই কারণ এটি আলফা চ্যানেলটিকে আরও ভাল সমর্থন করে।
ProgressBar v = (ProgressBar) findViewById(R.id.progress);
v.getIndeterminateDrawable().setColorFilter(0xFFcc0000, android.graphics.PorterDuff.Mode.SRC_ATOP);
অ্যান্ড্রয়েড indeterminateTint = "@ রং / progressbar"
styles.xml
<style name="CircularProgress" parent="Theme.AppCompat.Light">
<item name="colorAccent">@color/yellow</item>
</style>
<ProgressBar
android:layout_width="@dimen/d_40"
android:layout_height="@dimen/d_40"
android:indeterminate="true"
style="@style/Widget.AppCompat.ProgressBar"
android:theme="@style/CircularProgress"/>
এটা আমার জন্য কাজ।
<ProgressBar
android:id="@+id/ProgressBar01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateTint="@color/black"/>
বিজ্ঞপ্তি প্রগতিবার কাস্টমাইজ করতে কাস্টম অগ্রগতি বার দেখানোর জন্য আমাদের একটি অনির্দিষ্ট ড্রায়েবল তৈরি করতে হবে
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1">
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:height="48dip"
android:width="48dip" />
<gradient
android:centerColor="#f96047"
android:centerY="0.50"
android:endColor="#fb9c8d"
android:startColor="#f72d0c"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
আমাদের ঠিক নীচের মত প্রগতি বারে অঙ্কনযোগ্য অন্তর্ভুক্ত করা প্রয়োজন:
<ProgressBar
android:layout_width="wrap_content"
android:layout_centerInParent="true"
style="?android:attr/progressBarStyleLarge"
android:visibility="visible"
android:progressDrawable="@drawable/widget_progressbar"
android:indeterminateDrawable="@drawable/widget_progressbar"
android:layout_height="wrap_content" />
rotate
ট্যাগ আগে অনুপস্থিত shape
। এটি ছাড়াই, অগ্রগতিটি স্থির হবে
আমার জন্য থিমটি অ্যাকসেন্টার কালারের সাথে কাজ করছিল না। তবে এটি কালার কন্ট্রোল অ্যাক্টিভেটেড দিয়ে কাজ করেছে
<style name="Progressbar.White" parent="AppTheme">
<item name="colorControlActivated">@color/white</item>
</style>
<ProgressBar
android:layout_width="@dimen/d_40"
android:layout_height="@dimen/d_40"
android:indeterminate="true"
android:theme="@style/Progressbar.White"/>
মুহাম্মদ রিয়াস এম এর পরিপূরক করা শীর্ষ ভোট প্রাপ্ত উত্তরগুলির :
দ্রুত ঘূর্ণন
android:toDegrees="1080"
পাতলা রিং
android:thicknessRatio="16"
হালকা সাদা
android:endColor="#80ffffff"
এই উত্তরটি পরীক্ষা করুন :
আমার জন্য, এই দুটি লাইনটি কাজ করতে এবং রঙ পরিবর্তন করার জন্য সেখানে থাকতে হয়েছিল:
android:indeterminateTint="@color/yourColor"
android:indeterminateTintMode="src_in"
PS: তবে এটি কেবল অ্যান্ড্রয়েড 21 থেকে উপলব্ধ
একটি স্টাইল ব্যবহার করে চেষ্টা করুন এবং রঙ সেট করুনআন্ট্রাক্টেড খুব পছন্দসই প্রগ্রেসবার রঙটি সেট করুন।
<style name="progressColor" parent="Widget.AppCompat.ProgressBar">
<item name="colorControlActivated">@color/COLOR</item>
</style>
তারপরে প্রগতিবারের থিমটি নতুন স্টাইলে সেট করুন।
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/progressColor"
/>
আপনার ক্রিয়াকলাপের থিমে আইটেমের রঙ যোগ করুন নিয়ন্ত্রণ করুন , উদাহরণস্বরূপ:
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="colorControlActivated">@color/rocket_black</item>
...
</style>
ম্যানিফেস্টে আপনার ক্রিয়াকলাপে এই স্টাইলটি প্রয়োগ করুন:
<activity
android:name=".packege.YourActivity"
android:theme="@style/AppTheme.NoActionBar"/>
আপনি অন্যান্য উত্তর থেকে এক্সএমএল পুনরায় ব্যবহার করে খুব সহজেই একটি কাস্টম সংলাপ দিয়ে এটি করতে পারেন:
<?xml version="1.0" encoding="utf-8"?>
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false" >
<size
android:height="76dip"
android:width="76dip" />
<gradient
android:angle="0"
android:endColor="@color/oceanBlue"
android:startColor="@android:color/transparent"
android:type="sweep"
android:useLevel="false" />
</shape>
শুধু এটি করুন:
public static class ModifiedProgressDialog extends ProgressDialog {
public ModifiedProgressDialog(Context context) {
super(context);
}
@Override
public void show() {
super.show();
setIndeterminateDrawable(getContext().getResources().getDrawable(R.drawable.blue_progress));
}
}
আপনি নীচের মত অগ্রগতির রঙ পরিবর্তন করতে একটি স্টাইল ব্যবহার করতে পারেন
<style name="AppTheme.anyName">
<item name="colorAccent">YOUR_COLOR</item>
</style>
এবং নীচের মত এটি অগ্রগতি বারে ব্যবহার করুন
<ProgressBar
style="?android:attr/progressBarStyle"
android:theme="@style/AppTheme.WhiteAccent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dimen_30"
/>
আশা করি এটা সাহায্য করবে.
যারা কাস্টম অগ্রগতির গতি বাড়াতে ভাবছেন তাদের জন্য all
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
android:toDegrees="1080"><!--HERE YOU COULD INCREASE SPEED BY SETTING TODEGRESS(1080 is 3 loops instead of 1 in same amt of time)-->
<shape android:shape="ring" android:innerRadiusRatio="3"
android:thicknessRatio="8" android:useLevel="false">
<size android:width="76dip" android:height="76dip" />
<gradient android:type="sweep" android:useLevel="false"
android:startColor="#447a29"
android:endColor="#447a29"
android:angle="0"
/>
</shape>
এটি আপনার রেস / মান / রঙ / এক্স.এম.এল -> রঙএক্সেন্টের থেকে রঙের মান লাগে যদি আপনি এটি পরিবর্তন করেন তবে আপনার অগ্রগতির বারের রঙও পরিবর্তন হয়।
সেট android:indeterminateDrawable="@drawable/progress_custom_rotate"
কাস্টম সার্কুলার রিং প্রগতি বারের জন্য কোডের নীচে ব্যবহার করুন
কোডের নীচে অনুলিপি করুন এবং অঙ্কনযোগ্য ফোল্ডারে "অগ্রগতি_ কাস্টম_রোটেট.এক্সএমএল" তৈরি করুন
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
android:toDegrees="1080">
<shape android:shape="ring" android:innerRadiusRatio="3"
android:thicknessRatio="8" android:useLevel="false">
<size android:width="48dip" android:height="48dip" />
<gradient android:type="sweep" android:useLevel="false"
android:startColor="#4c737373" android:centerColor="#4c737373"
android:centerY="0.50" android:endColor="#ffffd300" />
</shape>
</rotate>
<style name="progressColor" parent="Widget.AppCompat.ProgressBar">
<item name="colorControlActivated">@color/colorPrimary</item>
</style>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="250dp"
android:theme="@style/progressColor"
android:layout_height="250dp"
android:layout_centerInParent="true" />
আপনি নীচের কোডটি ব্যবহার করে আপনার প্রগতিবারের রঙটি পরিবর্তন করতে পারেন:
progressBar.getProgressDrawable().setColorFilter(
getResources().getColor(R.color.your_color), PorterDuff.Mode.SRC_IN);