I'm looking for a way to make the Chronometer in Android (preferably 1.6 and upwards) show 10ths of a second while counting up.
Is it possible to do this? If not, is there a free (and preferably open source) library that does the same? Failing that I'll write my own, but I'd rather use someone else's!
Not really. You could pass a format string that shows tenths of a second, but the
Chronometer
itself only updates every second. The update frequency is baked into the code.The
Chronometer
source is available under the Apache License 2.0, so you can modify it to suit. Find all occurrences of1000
and change them to100
, and you're probably most of the way there.Bear in mind that this
Chronometer
can be used in an activity but not an app widget, since customizedView
classes are not supported by the app widget framework.Android's default chronometer widget does not support millisecond formatting.
I have modified the Chronometer widget source code in order to show milliseconds. Download it from github.
I created an instance of a class that I built inside the
Activity
. This new class was an extension of the AndroidCountDownTimer
class(add the implemented methods)Here in the constructor you can add the duration in milliseconds and the interval to be 1/10 of a second, that is 100 milliseconds. In the
onTick
method, the commands are executed every 1/100th of a second for the given duration. That should work.I have found the way after lots and lots of research. I don't know if it's effective or not, because the truth is that the Emulator crashes after about 10 seconds, but on the phone it runs just fine, and that does it for me. It looks something like this: