How to create a ProgressBar programmatically?
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 functi开发者_Python百科ons. Is there a way
to set the ProgressBar
to a small style? (I can't use XML to create
ProgressBar
.)
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?
Activity.java
progressBar = (ProgressBar) findViewById(R.id.progressbar);
`progressBar.setVisibility(View.VISIBLE);`// To Show ProgressBar
`progressBar.setVisibility(View.INVISIBLE);` //To Hide ProgressBar
Check here ProgressDialog is deprecated.What is the alternate one to use?
精彩评论