////MainActivity 类中书写的数据
package com.example.yinchenglong1229;
import android.content.Intent;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.ProgressBar;
public class MainActivity extends AppCompatActivity {
//定义起始位置
int i = 0;
//使用handler让ProgressBar进行运作
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//得到值并强转
pb.setProgress((Integer) msg.obj);
//进行判断是否跳转
if ((Integer)msg.obj==100){
Intent in=new Intent(MainActivity.this,Main2Activity.class);
startActivity(in);
//刷新
finish();
}
}
};
private ProgressBar pb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到ProgressBar的id
pb = findViewById(R.id.pb);
//开启一个子线程,在子线程中做耗时操作
new Thread(){
@Override
public void run() {
super.run();
//获取ProgressBar布局给定的最大值
int pm = pb.getMax();
//进行循环判断
while (i<pm){
//运行一次加一
i++;
Message msg = new Message();
msg.obj = i;
//发送消息
handler.sendMessage(msg);
try {
//加一次所需要的时间
sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}.start();
}
}
//布局文件
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pb"
style="@android:style/Widget.ProgressBar.Horizontal"
android:max="100"
/>