Android Studio實現進度條效果
更新時間:2021年04月29日 11:20:12 作者:Moyoshikine
這篇文章主要為大家詳細介紹了Android Studio實現進度條效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Android Studio實現進度條效果的具體代碼,供大家參考,具體內容如下
實驗作業(yè) 要求一個進度條,進度隨機
效果圖
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" style="@android:style/Widget.ProgressBar.Horizontal" 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循環(huán)可以去掉,循環(huán)是測試定時加長進度條設計的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android多功能時鐘開發(fā)案例(實戰(zhàn)篇)
這篇文章主要為大家詳細介紹了Android多功能時鐘開發(fā)案例,開發(fā)了時鐘、鬧鐘、計時器和秒表,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05Android 登錄頁面的實現代碼(密碼顯示隱藏、EditText 圖標切換、限制輸入長度)
這篇文章主要介紹了Android 登錄頁面的實現代碼(密碼顯示隱藏、EditText 圖標切換、限制輸入長度),本文通過兩種方法給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08Golang+Android基于HttpURLConnection實現的文件上傳功能示例
這篇文章主要介紹了Golang+Android基于HttpURLConnection實現的文件上傳功能,結合具體實例形式分析了Android基于HttpURLConnection的客戶端結合Go語言服務器端實現文件上傳功能的操作技巧,需要的朋友可以參考下2017-03-03