SeekBar
, you definitely would have noticed how hard it is to move the slider (aka thumb) when it is set to the minimum or maximum value. The slider tends to be cut in half, and fitting your finger into it to press it becomes a test of patience.See how small the slider becomes when it reaches the far ends of the
SeekBar
? Crazy!Luckily, I found a way (just today!) to move the slider just a little tiny bit to make it easier to press. Apparently, there is a method called
setThumbOffset()
that allows us to nudge the slider by a number of pixels.It's pretty easy to use, aside from the fact that it accepts pixels and not dip measurements. Anyway, here's how to do it:
int pixels = convertDipToPixels(8f);I convert dip measurements to pixels to better manage the growing number of resolutions of screen sizes present. Here's the code to do that:
SeekBar mySeekBar = (SeekBar) findViewById(R.id.quiz_settings_seekbar);
mySeekBar.setOnSeekBarChangeListener(mySeekBarListener);
mySeekBar.setThumbOffset(pixels);
private int convertDipToPixels(float dip) {Aaaaaaaand this is now how our slider looks:Applause! Confetti! Applause!
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float density = metrics.density;
return (int)(dip * density);
}