进度对话框是另一个常见的用户界面功能,它在应用程序执行长时间运行的任务时显示一种等待状态。显示“进度对话框”很有帮助,这样用户可以知道操作正在进行中。实现进度对话框采用ProgressDialog组件完成
ProgressDialog组件在初始化的时候直接调用ProgressDialog.show(...)就能完成包括进度对话框加载效果
布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/app_dialog" android:onClick="onClick"> </Button> </RelativeLayout>
MainActivity完成的代码实现
package com.gxa; import android.os.Bundle; import android.app.Activity; import android.app.ProgressDialog; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClick(View view) { onCreateProgressDialog(); } public void onCreateProgressDialog() { final ProgressDialog dialog = ProgressDialog.show(this, "进度", "应用程序初始化中...", true); //设置进度条对话框,true是一个模式对话框 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(3000); dialog.dismiss(); } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
文章内容来自:国信安刘阳