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

溫馨提示×

溫馨提示×

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

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

在Android開發中如何實現好看的進度條

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

這篇文章主要為大家展示了“在Android開發中如何實現好看的進度條”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“在Android開發中如何實現好看的進度條”這篇文章吧。

activity_main.xml 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="16dp">
        <TextView
            android:id="@+id/textView17"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:textStyle="bold"
            android:textAlignment="center"
            android:text="\u00A9  itinsidenews.com" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Determinate" />
            <ProgressBar
                android:id="@+id/progressDeterminate"
                
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:indeterminate="false"
                android:max="100"
                android:progress="10" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Indeterminate" />
            <ProgressBar
                android:id="@+id/progressIndeterminate"
                
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:indeterminate="true" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Buffer" />
            <ProgressBar
                android:id="@+id/progressBuffered"
                
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:indeterminate="false"
                android:max="100"
                android:progress="10"
                android:secondaryProgress="20" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Indeterminate and Determinate" />
            <ProgressBar
                android:id="@+id/progressIndeterminateDeterminate"
                
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:indeterminate="false"
                android:max="100"
                android:progress="20" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="horizontal">
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="15dp"
                    android:text="Indeterminate" />
                <ProgressBar
                    
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:indeterminate="true"
                   android:progressDrawable="@drawable/circular_progress_bar" />
            </LinearLayout>
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="10dp"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="15dp"
                    android:text="Determine" />
                <ProgressBar
                    android:id="@+id/progressIndeterminateCircular"
                    
                    android:layout_width="?attr/actionBarSize"
                    android:layout_height="?attr/actionBarSize"
                    android:background="@drawable/circle_shape"
                    android:indeterminate="false"
                    android:max="100"
                    android:progress="0"
                   android:progressDrawable="@drawable/circular_progress_bar" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

MainActivity Java 文件代碼

在MainActivity.java文件中,我們的第一步是初始化所有的進度條視圖,然后編寫三個void類型的函數,分別為每個進度條編寫代碼。 

我們在每個函數中使用了一個處理程序。在Android中,我們不能在主線程上運行長期任務;這就是我們使用處理程序的原因。處理程序允許從其他后臺線程與 UI 線程進行通信。 

MainActivity.java
package com.progressbar.example.mainactivity;import android.os.Bundle;
import android.os.Handler;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.progressbar.example.R;
import com.progressbar.example.utils.Tools;
public class MainActivity extends AppCompatActivity {
    private ProgressBar progressDeterminate;
    private ProgressBar progressIndeterminateCircular;
    private ProgressBar progressBuffered;
    private ProgressBar progressIndeterminateDeterminate;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
        initComponent();
    }
     private void initComponent() {
        progressDeterminate = (ProgressBar) findViewById(R.id.progressDeterminate);
        progressIndeterminateCircular = (ProgressBar) findViewById(R.id.progressIndeterminateCircular);
        progressBuffered = (ProgressBar) findViewById(R.id.progressBuffered);
        progressIndeterminateDeterminate = (ProgressBar) findViewById(R.id.progressIndeterminateDeterminate);
        startDeterminateProgress();
        startBufferedProgress();
        startBufferedSecondaryProgress();
        startIndeterminateDeterminateProgress();
        startDeterminateCircularProgress();
    }
    private void startDeterminateProgress() {
        final Handler mHandler = new Handler();
        Runnable runnable = new Runnable() {
            public void run() {
                int progress = progressDeterminate.getProgress() + 10;
                progressDeterminate.setProgress(progress);
                if (progress > 100) {
                    progressDeterminate.setProgress(0);
                }
                mHandler.postDelayed(this, 1000);

以上是“在Android開發中如何實現好看的進度條”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

康定县| 绍兴县| 闻喜县| 南召县| 合山市| 托克托县| 泗洪县| 苏尼特右旗| 台南县| 九江市| 麻阳| 海宁市| 丹棱县| 剑阁县| 玉屏| 收藏| 准格尔旗| 青阳县| 安乡县| 都江堰市| 宜君县| 兴仁县| 沾化县| 南乐县| 乌拉特中旗| 吉安市| 印江| 黄梅县| 无为县| 河津市| 堆龙德庆县| 阿瓦提县| 衡南县| 游戏| 汕尾市| 锡林浩特市| 阿图什市| 东乡县| 乃东县| 长海县| 衡东县|