一、ProgressBar 原地展示
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="start" />
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
</ProgressBar>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="stop" />
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar2"
style="@android:style/Widget.ProgressBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
</ProgressBar>
<ProgressBar
android:id="@+id/progressBar3"
style="@android:style/Widget.ProgressBar.Large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
</ProgressBar>
<ProgressBar
android:id="@+id/progressBar4"
style="@android:style/Widget.ProgressBar.Inverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
</ProgressBar>
<ProgressBar
android:id="@+id/progressBar5"
style="@android:style/Widget.ProgressBar.Small.Inverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
</ProgressBar>
<ProgressBar
android:id="@+id/progressBar6"
style="@android:style/Widget.ProgressBar.Large.Inverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
</ProgressBar>
<ProgressBar
android:id="@+id/progressBar6"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
</ProgressBar>
</LinearLayout>
Activity:
public class MainActivity extends Activity {
private Button btn = null;
private Button btn2 = null;
private ProgressBar progressBar = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupViews();
}
private void setupViews() {
tv = (TextView)findViewById(R.id.textView1);
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
progressBar.setVisibility(View.VISIBLE); // 显示
}
});
btn2 = (Button)findViewById(R.id.button2);
btn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
progressBar.setVisibility(View.GONE); // 隐藏
}
});
progressBar = (ProgressBar)findViewById(R.id.progressBar1);
}
}
二、ProgressDialog, 在popup中显示
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Open ProgressDialog" />
</LinearLayout>
Activity:
public class MainActivity extends Activity {
private Button btn = null;
private ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupViews();
}
private void setupViews() {
btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
pd = ProgressDialog.show(MainActivity.this, null, "Loading...", true, true);
new Thread() {
public void run(){
try {
Thread.sleep(2000); // 业务处理过程
} catch (Exception e) {
e.printStackTrace();
}
handler.sendEmptyMessage(0); // 更新UI
}
}.start();
}
});
}
private Handler handler = new Handler(){
public void handleMessage(Message msg) {
pd.dismiss();
}};
}