Android橫向進度條演示效果
進度條:相信大家也都明白,有了進度條,那么給用戶就不會造成,長時間的等待而覺得自己的程序掛掉了,所以,這個小demo還是可一看看的,那么接下來,然我們來看看到底是如何實現的。
1.效果圖:
2.布局說明:
1.textview顯示進度條
2.ProgressBar進度條
3.進度條配置:
<ProgressBar android:id="@+id/pb" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" />
其中:max可以手動設置,也就是你下載的內容大小,style也是
3.實例源碼:
package com.zengtao.classwork; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.ActionBarActivity; import android.widget.ProgressBar; public class MainActivity extends ActionBarActivity { private ProgressBar pb; // 進度條 private int[] randData = new int[100]; // 數組 private int index = 0; // 索引 private int mProgressStaus = 0; // 設置進度條的長度 private Handler mHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pb = (ProgressBar) findViewById(R.id.pb); // 初始化handle,綁定在主線程中的隊列消息中 mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); // 接收消息 if (msg.what == 0x111) { mProgressStaus = index; pb.setProgress(mProgressStaus); } } }; // 創(chuàng)建子線程,在子線程中處理耗時工作 new Thread() { @Override public void run() { super.run(); while (index < 100) { doWork(); Message msg = new Message(); msg.what = 0x111; mHandler.sendMessage(msg); } } }.start(); } /** * 模擬耗時工作(一定要在子線程中做) * * @return 進度條的多少 */ public int doWork() { randData[index++] = (int) (Math.random() * 100); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } return index; } }
4.dowork()方法是模擬的一個耗時操作,當然你自己也可以用其他的代替,比如:網上下載圖片,下載好了,之后顯示出來等等。
以上是自己的勞動成果,希望能幫到大家。
相關文章
Android開發(fā)中怎樣調用系統(tǒng)Email發(fā)送郵件(多種調用方式)
在Android中調用其他程序進行相關處理,幾乎都是使用的Intent,所以,Email也不例外,所謂的調用Email,只是說Email可以接收Intent并做這些事情2013-06-06Android應用中使用ContentProvider掃描本地圖片并顯示
這篇文章主要介紹了Android應用中使用ContentProvider掃描本地圖片并顯示的方法,比調用本地圖庫的方法更加靈活和可定制,需要的朋友可以參考下2016-04-04詳解Android中fragment和viewpager的那點事兒
本文主要對Android中fragment和viewpager進行詳細介紹,具有一定的參考價值,需要的朋友一起來看下吧2016-12-12