Android開發(fā)基礎使用ProgressBar加載進度條示例
前言
之前我們用過WebView類,打開網頁時就會出現(xiàn)加載網頁的情況,為了讓我們直觀的感受到網頁加載到什么程度而不是白白干等著空白頁,于是加載進度條就是一個很好的展示方式,而通常情況下,當我們的數(shù)據(jù)未加載完成時就會去使用進度條,而ProgressBar就是用于界面上顯示進度條的,下面讓我們看看這個控件的使用方法。
使用方法
首先我們將ProgressBar控件加到布局中:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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=".WebViewTest"> ... <ProgressBar android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
然后運行程序就會發(fā)現(xiàn)我們的這個頁面上會加載這個進度條的圈:
但我們會發(fā)現(xiàn),這個圈一直在加載,所以就需要我們對這個控件進行控制,正常情況下應該在數(shù)據(jù)未加載完成前顯示,加載完成后隱藏控件的,直接用setVisibility()方法來實現(xiàn)即可,我們這邊簡化一下,通過點擊頁面按鈕來顯示和隱藏:
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/vWebView" android:layout_width="match_parent" android:layout_height="match_parent"/> <Button android:id="@+id/vClick" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:layout_gravity="center"/> </FrameLayout>
binding.vClick.setOnClickListener { if (binding.progressBar.visibility == View.VISIBLE) { binding.progressBar.visibility = View.GONE } else { binding.progressBar.visibility = View.VISIBLE } }
效果如下:
但是正常來說,web頁面我們一般不使用圈的方式,而是條形,其實很簡單,只要改ProgressBar控件在XML布局中的一個屬性:
<ProgressBar android:id="@+id/progressBar" android:layout_width="match_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:max="100" />
將它的style改為水平進度條,進度條最大長度設置為100,然后在Activity中代碼控制這個進度長度即可:
binding.vClick.setOnClickListener { // if (binding.progressBar.visibility == View.VISIBLE) { // binding.progressBar.visibility = View.GONE // } else { // binding.progressBar.visibility = View.VISIBLE // } if (binding.progressBar.progress == 0) { binding.progressBar.visibility = View.VISIBLE } binding.progressBar.progress = binding.progressBar.progress + 10 if (binding.progressBar.progress == 100) { binding.progressBar.progress = 0 binding.progressBar.visibility = View.GONE } }
效果如下:
總結
本篇主要是介紹了進度條ProgressBar控件的基本使用方法,這個控件的應用場景非常多,而且現(xiàn)在也有很多封裝好更漂亮的控件,當我們需要獲取數(shù)據(jù)去加載時就適合去展示一段加載圈形式的進度條,再配合Dialog的效果,就能讓用戶感覺到數(shù)據(jù)的加載過程,這應該也是數(shù)據(jù)可視化的一種應用吧!
以上就是Android開發(fā)基礎使用ProgressBar加載進度條示例的詳細內容,更多關于Android ProgressBar加載進度條的資料請關注腳本之家其它相關文章!
相關文章
Android string-array數(shù)據(jù)源簡單使用
這篇文章主要介紹了Android string-array數(shù)據(jù)源簡單使用的相關資料,需要的朋友可以參考下2016-09-09Android 解決build path errors的問題
這篇文章主要介紹了Android 解決build path errors的問題的相關資料,需要的朋友可以參考下2016-09-09Android使用ItemTouchHelper實現(xiàn)側滑刪除和拖拽
這篇文章主要為大家詳細介紹了Android使用ItemTouchHelper實現(xiàn)側滑刪除和拖拽,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08