模拟ProgressBar下载进度显示
16lz
2021-01-26
package com.example.administrator.myapplication;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ProgressBar;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private ProgressBar progress; private Button start; private TextView number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } Handler handler = new Handler(){ @Override public void handleMessage(final Message msg) { super.handleMessage(msg); progress.setProgress(msg.arg1); number.setText(msg.arg1+"%"); handler.postDelayed(updateProgress,100); }}; private void initView() { number = findViewById(R.id.number); start = findViewById(R.id.start); progress = findViewById(R.id.progress); start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { handler.post(updateProgress); } }); } Runnable updateProgress = new Runnable() { int i = 0; @Override public void run() { i+=1; Message message = handler.obtainMessage(); message.arg1 = i; if(i<=100){ handler.sendMessage(message); } if(i==100){ handler.removeCallbacks(updateProgress); } } };}
<?xml version="1.0" encoding="utf-8"?>
更多相关文章
- android 源代码下载
- android更新应用程序
- 下载管理器类的封装(观察者模式)
- 使用AnsyncTask异步类从网络上下载图片
- the android development environment
- 手机安全卫士开发系列(5)——自动更新
- 下载好自动安装
- 仿迅雷下载球
- android-使用AsyncTask做下载进度条