Android Progress 使用示例

自定义进度条背景 my_progress_bar.xml ,在 drawable 目录中创建它:



    

    

上面代码中使用两张图片,大家可以自行添加。

主布局文件代码:




    

        

        

        

        

        

        

    


    

    

    


主程序文件代码:

package com.toby.personal.testlistview;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;

public class MainActivity extends Activity {

    final private static String TAG = "Toby_Test";

    final private int msgWhat = 20170318;
    final int[] data = new int[100];

    private int hasData = 0;
    private int status = 0;

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

        final ProgressBar bar1 = (ProgressBar) findViewById(R.id.progressBar);
        final ProgressBar bar2 = (ProgressBar) findViewById(R.id.myProgressBar);

        final Handler handler = new Handler() {
            @Override
            public void handleMessage(Message msg) {

                if (msg.what == msgWhat) {
                    bar1.setProgress(status);
                    bar2.setProgress(status);
                }

                super.handleMessage(msg);
            }
        };

        new Thread() {
            @Override
            public void run() {
                while (status < 100) {
                    status = doWork();
                    handler.sendEmptyMessage(msgWhat);
                }
            }
        }.start();

    }

    private int doWork() {
        data[hasData++] = (int) (Math.random() * 100);
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return hasData;
    }

}

运行效果:


Android Progress 使用示例_第1张图片
运行效果

参考文献:《疯狂Android讲义(第2版)》

你可能感兴趣的:(Android Progress 使用示例)