When I try change my indeteminateDrawable progressbar just gone( I have to change drawable for my progressbar. I tried invalidate, requestLayout and other. I dont know how I can fix it. Thank you..............
Here code:
progressBar.setIndeterminateDrawable(getResources().getDrawable(R.drawable.progress_indeterminate_horizontal_didnt_like));
progressBar.setIndeterminate(true);
Yes. It's visible in XML.
<ProgressBar
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/progress_indeterminate_horizontal_to_review" />
private void showProgressByCategory(String category) {
progressBar = (ProgressBar) findViewById(R.id.progress);
switch (CATEGORY.getPosition(category)) {
case CATEGORY.DIDNT_LIKE_POS:
// Didnt like
progressBar.setIndeterminateDrawable(getResources().getDrawable(
R.drawable.progress_indeterminate_horizontal_didnt_like));
break;
case CATEGORY.TO_SEE_POS:
// To See
progressBar.setIndeterminateDrawable(getResources().getDrawable(
R.drawable.progress_indeterminate_horizontal_to_see));
break;
case CATEGORY.SAW_AND_LIKED_POS:
// Saw And Liked
progressBar.setIndeterminateDrawable(getResources().getDrawable(
R.drawable.progress_indeterminate_horizontal_saw_liked));
break;
case CATEGORY.TO_REVIEW_POS:
// To Review
progressBar.setIndeterminateDrawable(getResources().getDrawable(
R.drawable.progress_indeterminate_horizontal_to_review));
break;
}
progressBar.setIndeterminate(true);
}
you must call drawable.setBounds() with intrinsic size before setIndeterminateDrawable() to solve
if your drawable is an animation (drawable with animation-list), you should call your drawable as AnimationDrwable. Set with setIndeterminateDrawable and call start for your drawable.
AnimationDrawable drawable = getResources().getDrawable(R.drawable.your_custom_drawable);
Rect bounds = progressBar.getIndeterminateDrawable().getBounds(); // get bounds from current drawable
progressBar.setIndeterminateDrawable(drawable);
drawable.start();
progressBar.getIndeterminateDrawable().setBounds(bounds); //thanks ceabie
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With