这篇文章主要介绍在Android中如何使用Studio实现进度条,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
xml代码
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ProgressBarActivity"> <ProgressBar android:id="@+id/pb_determinate" android:layout_width="match_parent" android:layout_height="wrap_content" android:backgroundTint="@color/purple_200" android:progress="25" android:max="100" android:layout_centerVertical="true" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ProgressBar" android:textSize="28sp" android:gravity="center" android:layout_below="@+id/pb_determinate" /> </RelativeLayout>
java代码
package com.example.a18101352; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.ProgressBar; import java.util.Random; public class MainActivity extends AppCompatActivity { private ProgressBar progressBar; private int maxProgress; private int currentProgress = 0; private Handler mHandler = new Handler(){ /** * Subclasses must implement this to receive messages. * * @param msg */ @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); switch (msg.what){ case 0: progressBar.setProgress(currentProgress); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_progress_bar); progressBar = findViewById(R.id.pb_determinate); maxProgress = progressBar.getMax(); } @Override protected void onStart(){ super.onStart(); new Thread() { private Random random; @Override public void run(){ while(true){ try { for(int i = 0; i < maxProgress; ++i){ //间隔一秒 Thread.sleep(1000); random = new Random(); // currentProgress += 10; // if(currentProgress > maxProgress){ // break; // } //获取一个随机数给到currentProgress然后显示出来 currentProgress = random.nextInt(100); mHandler.sendEmptyMessage(0); } } catch (InterruptedException e){ e.printStackTrace(); } } } }.start(); } }
线程里的for循环可以去掉,循环是测试定时加长进度条设计的。
以上是“在Android中如何使用Studio实现进度条”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。