Android:进度条加载

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#E6E6E6"
android:orientation="vertical">
<ImageView
    android:id="@+id/iv"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="40dp"
    android:background="@drawable/head"/>
<LinearLayout
    android:id="@+id/ll_number"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/iv"
    android:layout_centerVertical="true"
    android:layout_marginBottom="5dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="15dp"
    android:background="#ffffff">
    <TextView
        android:id="@+id/tv_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="账号:"
        android:textColor="#000"
        android:textSize="20sp"/>
    <EditText
        android:id="@+id/et_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:background="@null"
        android:padding="10dp"/>
</LinearLayout>
<LinearLayout
    android:id="@+id/ll_password"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/ll_number"
    android:layout_centerVertical="true"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="#ffffff">
    <TextView
        android:id="@+id/tv_password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="密码:"
        android:textColor="#000"
        android:textSize="20sp"/>
    <EditText
        android:id="@+id/et_number2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:background="@null"
        android:padding="10dp"/>
</LinearLayout>
<Button
    android:id="@+id/btn_login"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/ll_password"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="50dp"
    android:background="#3C8DC4"
    android:text="登录"
    android:textColor="#ffffff"
    android:textSize="20sp"/>

</RelativeLayout>

 MainActivity.java:

package com.example.lenovo.myapplicationloading;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private Button xhButton01, xhButton02;

    int xh_count = 0;
    // 声明进度条对话框
    ProgressDialog xh_pDialog;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 得到按钮对象
        xhButton02 = (Button) findViewById(R.id.btn_login);

        // 设置xhButton02的事件监听
        xhButton02.setOnClickListener(new Button.OnClickListener() {

            @Override
            public void onClick(View v) {

                xh_count = 0;

                // 创建ProgressDialog对象
                xh_pDialog = new ProgressDialog(MainActivity.this);

                // 设置进度条风格,风格为圆形,旋转的
                xh_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

                // 设置ProgressDialog 标题
                xh_pDialog.setTitle("提示");

                // 设置ProgressDialog提示信息
                xh_pDialog.setMessage("正在加载中……");

                // 设置ProgressDialog标题图标
                xh_pDialog.setIcon(R.drawable.shape_progressbar_bg);

                // 设置ProgressDialog 的进度条是否不明确 false 就是不设置为不明确
                xh_pDialog.setIndeterminate(false);

                // 设置ProgressDialog 进度条进度
                xh_pDialog.setProgress(100);

                // 设置ProgressDialog 是否可以按退回键取消
                xh_pDialog.setCancelable(true);

                // 让ProgressDialog显示
                xh_pDialog.show();

                new Thread() {
                    @Override
                    public void run() {
                        try {
                            while (xh_count <= 100) {
                                // 由线程来控制进度
                                xh_pDialog.setProgress(xh_count++);
                                Thread.sleep(100);
                            }
                            xh_pDialog.cancel();
                        } catch (Exception e) {
                            xh_pDialog.cancel();
                        }
                    }
                }.start();

            }

        });
    }

    // xhButton01的监听器类
    class Bt1DialogListener implements DialogInterface.OnClickListener {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // 点击“确定”按钮取消对话框
            dialog.cancel();
        }
    }
}

上一篇:考研数据结构(九):单链表排序(直接插入排序、冒泡排序、选择排序)


下一篇:删除带头结点的非空单链表中值相同的多余结点