Posts

Showing posts from 2017

How to Update Circular Progressbar Color Endlessly

In this blog post, I'll be explaining how to change the color of an indeterminate circular progress bar not just once but every few seconds. This type of behavior is commonly seen in the Google's Inbox by Gmail app.
It is simple to build. All we've to do is update the progress bar color every few seconds. This can be achieved by using the setIndeterminateTintList method and a Handler.

The setIndeterminateTintList method changes the progress bar color while the handler makes sure this method is called continuously.

Below is a sample code which mimics such behavior.
One more thing to point out is that setIndeterminateTintList was added in API 21 which means it doesn't work on pre-lollipop devices.

Only limited colors are added to the colorList and you can always add more colors or change the colors in the colorList. If you don't have the desired list of colors, you can randomize the color selection process.

I hope this is helpful. If you guys know a better and simp…

Resources Not Found Exception in Android

There may be few newbies in Android programming having trouble understanding Resources Not Found Exception. So, I planned to explain it in this blog post and make the explanation as simple as I can.

Resources Not Found Exception is thrown when the Resource API's failed to locate the resource.

Let us go through an example to know in detail on why this exception is thrown.

In this example, consider there is a text view on the UI which is used to show numbers from 10 to 1 and let's say we used a CountDownTimer class to achieve this task.

If this was the code you've implemented, your app will crash when the onTick method gets executed for the first time.

If you take a look at the log cat, you can see the API thrown a Resources Not Found Exception complaining that it cannot find the Strig Id.
Simply, What this means is that the Resource API looked for a String named remainingTimeInSec and it failed to find it. This is because remainingTimeInSec is defined as int, not a String …