I have customize the SeekBar using a LayeredDrawable, The drawable works fine, but the drawable used as a background becomes rounded at the corners (Both the corner, here only the right end is shown. When the thumb is moved to the extreme left, the left corner is also rounded. Note: The original image is rectangular). How do I make it rectangular?
Here is my LayerdDrawable xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<bitmap android:src="@drawable/progress_bg" />
</item>
<item android:id="@android:id/progress">
<clip>
<bitmap android:src="@drawable/progress" />
</clip>
</item>
</layer-list>
Now open MainActivity. java class Declare objects of SeekBar and TextView, inside onCreate method initialize both objects using findViewById() method. Perform an event of SeekBar change listener that will hold progress value, and by using this event set the progress value inside TextView. seekBar.
android.widget.SeekBar. A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch the thumb and drag left or right to set the current progress level or use the arrow keys. Placing focusable widgets to the left or right of a SeekBar is discouraged.
If you are using default SeekBar provided by android Sdk then their is a simple way to change the color of that . just go to color. xml inside /res/values/colors. xml and change the colorAccent.
You can extract information from this (related) question posted on android-developers Google Group. Pay attention to <corners android:radius="5dip" />
. That's the parameter you'll need to change.
UPDATE: What the heck, I'll just post some code. = )
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="0dip" />
</shape>
</clip>
</item>
You might need to do the same thing with secondaryProgress
and so on.
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