中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Android中如何使用Studio實現進度條

發布時間:2022-02-25 14:41:32 來源:億速云 閱讀:711 作者:小新 欄目:開發技術

這篇文章主要介紹在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實現進度條”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五寨县| 江孜县| 纳雍县| 微山县| 宣城市| 贵州省| 洪湖市| 故城县| 闻喜县| 北京市| 车险| 涞水县| 鸡泽县| 论坛| 福贡县| 越西县| 虹口区| 昌图县| 武威市| 姚安县| 绥芬河市| 玛纳斯县| 宁都县| 兴海县| 康定县| 敖汉旗| 铅山县| 沙田区| 九江县| 木里| 巴林右旗| 石门县| 洛隆县| 泾源县| 拜城县| 青海省| 峨边| 三亚市| 耿马| 姚安县| 天台县|