Android UI控件之ProgressBar進度條
我們知道在所有的界面UI中進度條無疑是非常重要的一個,因為它可以給用戶一個較為清晰的視覺效果:就是用戶的操作的完成情況.這不是簡單的完成與未完成,而是以一個進度的方式展示給用戶的交互性更強了。
對于Android系統(tǒng)中的進度條如何使用呢?下一是簡單的實現(xiàn),并未做相關的美化處理。
依照慣例,先上效果圖:
第一張:

第二張:

其中兩個原型的進度條并未做任何的處理,水平進度條利用線程使之不停地增加減少。
具體實現(xiàn)首先看布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="簡單進度條的展示" android:layout_gravity="center_horizontal"/> <ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> <ProgressBar android:id="@+id/progressBar2" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"/> <ProgressBar android:id="@+id/progressBar3" style="?android:attr/progressBarStyleHorizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:max="100" android:minWidth="180dip" android:minHeight="40dip" /> </LinearLayout>
之后是MainActivity
package com.kiritor.ui_progressbar; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.ProgressBar; public class MainActivity extends Activity implements Runnable { private ProgressBar bar = null; private Thread thread = null;// 聲明一個線程 private boolean stateChange; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bar = (ProgressBar) findViewById(R.id.progressBar3); thread = new Thread(this); thread.start(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void run() { while (true) { int current = bar.getProgress();// 得到當前進度值 int currentMax = bar.getMax();// 得到進度條的最大進度值 //int secCurrent = bar.getSecondaryProgress();// 得到底層當前進度值 // 以下代碼實現(xiàn)進度值越來越大,越來越小的一個動態(tài)效果 if (stateChange == false) { if (current >= currentMax) { stateChange = true; } else { // 設置進度值 bar.setProgress(current + 1); // 設置底層進度值 bar.setSecondaryProgress(current + 1); } } else { if (current <= 0) { stateChange = false; } else { bar.setProgress(current - 1); bar.setSecondaryProgress(current - 1); } } try { Thread.sleep(50); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
以上就是進度條的簡單的用法,之后筆者會實現(xiàn)一些“特別”進度條,漂亮的,另類的!代碼較為簡單就不給源碼了Over!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android 重寫ViewGroup 分析onMeasure()和onLayout()方法
這篇文章主要介紹了Android 重寫ViewGroup 分析onMeasure()和onLayout()方法的相關資料,需要的朋友可以參考下2017-06-06Android編程之ListView和EditText發(fā)布帖子隱藏軟鍵盤功能詳解
這篇文章主要介紹了Android編程之ListView和EditText發(fā)布帖子隱藏軟鍵盤功能,結合實例形式分析了Android控件調用、隱藏軟鍵盤的原理與具體實現(xiàn)技巧,需要的朋友可以參考下2017-08-08Android 高德地圖之poi搜索功能的實現(xiàn)代碼
這篇文章主要介紹了android 高德地圖之poi搜索功能的實現(xiàn)代碼,在實現(xiàn)此功能時遇到很多問題,在文章都給大家提到,需要的朋友可以參考下2017-08-08android開發(fā)教程之清除android數(shù)據(jù)緩存示例(清除本地數(shù)據(jù)緩存)
android清除本地數(shù)據(jù)緩存示例,主要功能清除內(nèi)/外緩存,清除數(shù)據(jù)庫,清除sharedPreference,清除files和清除自定義目錄,需要的朋友可以參考下2014-02-02android實現(xiàn)短按電源鍵關機的實現(xiàn)代碼
這篇文章主要介紹了android實現(xiàn)短按電源鍵關機的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11View事件分發(fā)原理和ViewPager+ListView嵌套滑動沖突
這篇文章主要介紹了View事件分發(fā)原理和ViewPager+ListView嵌套滑動沖突,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價,需要的小伙伴可以參考一下2022-05-05