ProgressDialog(对话框)

来源:互联网 发布:mac word 希腊字母 编辑:程序博客网 时间:2024/06/17 00:50

ProgressDialogAlertDialog有点类似,都可以在界面上弹出一个对话框,都能够屏蔽掉其他控件的交互能力。不同的是,ProgressDialog会在对话框中显示一个进度条,一般是用于表示当前操作比较耗时,让用户耐心地等待

activity_main.xml

<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"    tools:context=".MainActivity">    <Button        android:text="点我啊"        android:id="@+id/btn"        android:layout_width="match_parent"        android:layout_height="wrap_content" /></RelativeLayout>

MainActivity.java

<span style="font-size:18px;">public class MainActivity extends Activity implements View.OnClickListener {    private Button btn;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    private void initView() {        btn = (Button) findViewById(R.id.btn);        btn.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.btn:                ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);                progressDialog.setTitle("This is ProgressDialog");                progressDialog.setMessage("Loading...");                progressDialog.setCancelable(true);                progressDialog.show();                break;        }    }}</span>

可以看到,这里也是先构建出一个ProgressDialog对象,然后同样可以设置标题、内容、可否取消等属性,最后也是通过调用show()方法将ProgressDialog显示出来。重新运行程序,点击按钮后,效果如图3.14所示。

注意如果在setCancelable()中传入了false,表示ProgressDialog是不能通过Back键取消掉的,这时你就一定要在代码中做好控制,当数据加载完成后必须要调用ProgressDialogdismiss()方法来关闭对话框,否则ProgressDialog将会一直存在。


0 0