My application needs to create a small ProgressBar
programmatically.
ProgressBar
doesn't have a method to set the style (I want a small
ProgressBar
). The constructor can take an AttributeSet
, however, it is an
interface and requires me to implement a set of functions. Is there a way
to set the ProgressBar
to a small style? (I can't use XML to create
ProgressBar
.)
In Android, SeekBar is an extension of ProgressBar that adds a draggable thumb, a user can touch the thumb and drag left or right to set the value for current progress. SeekBar is one of the very useful user interface element in Android that allows the selection of integer values using a natural user interface.
Most of the time if you provide an AttributeSet
manually you have to use one of Android's. Luckily, they've exposed the attribute set that describes a small progress bar. Use this code:
progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall);
Create a layout xml file in res/layout directory with desired progress bar containig all attributes you need:
<?xml version="1.0" encoding="utf-8"?>
<ProgressBar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" ... />
Next in the Activity class you can create ProgressBar object from that layout:
LayoutInflater inflater = getLayoutInflater();
ProgressBar bar = (ProgressBar ) inflater.inflate(R.layout.small_progress_bar, null);
where R.layout.small_progress_bar links to your layout xml file.
Can you still not use xml file?
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