進(jìn)度條常見(jiàn)的樣式, 目前暫時(shí)沒(méi)看到比較好用的框架, 或者說(shuō)不好在原有的基礎(chǔ)上擴(kuò)展, 本框架的成員變量和方法幾乎都是用protected 和 public, 給用戶隨便擴(kuò)展.

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),民豐企業(yè)網(wǎng)站建設(shè),民豐品牌網(wǎng)站建設(shè),網(wǎng)站定制,民豐網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,民豐網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1. 這里沒(méi)有漸變屬性, 如果需要, 可參考每個(gè)ProView對(duì)應(yīng)的詳細(xì)文章.
2. 使用簡(jiǎn)介, 學(xué)習(xí)成本低, 屬性一查即可知道
3. 支持用戶在原有的基礎(chǔ)擴(kuò)展和修改, 每個(gè)成員變量幾乎都有set和get方法.
① 例如: 對(duì)于畫(huà)筆Paint可以用對(duì)應(yīng)get方法取出, 然后設(shè)置對(duì)應(yīng)的屬性.
② 例如: 繼承對(duì)應(yīng)的View, 重寫(xiě)對(duì)應(yīng)的方法進(jìn)行覆蓋.
如有問(wèn)題和建議, 歡迎在評(píng)論區(qū)指出, 如果此框架對(duì)你有用, 歡迎點(diǎn)贊收藏
通過(guò)MediaPlayer調(diào)節(jié)。
系統(tǒng)自帶的進(jìn)度條的顏色比較單調(diào),實(shí)際開(kāi)發(fā)中使用較少,可以自定義進(jìn)度條背景,新建一個(gè)progressbarbg.xml文件。gradient可以設(shè)置進(jìn)度條的漸變色,android:endColor和android:startColor可以設(shè)置漸變開(kāi)始和結(jié)束的顏色。定義完成以后,便可以使用。
在音樂(lè)進(jìn)度,網(wǎng)絡(luò)下載時(shí),需動(dòng)態(tài)加載進(jìn)度條,默認(rèn)情況下,設(shè)置進(jìn)度條,使用setProgress即可。但有時(shí)除了動(dòng)態(tài)設(shè)置進(jìn)度,仍需要?jiǎng)討B(tài)設(shè)置進(jìn)度條顏色通過(guò)MediaPlayer播放音樂(lè)并獲取進(jìn)度,設(shè)置進(jìn)度。
Android系統(tǒng)提供了兩大類(lèi)進(jìn)度條樣式,長(zhǎng)形進(jìn)度條(progressBarStyleHorizontal) 和圓形進(jìn)度條(progressBarStyleLarge)。
android 進(jìn)度條樣式更改:
第一種
(默認(rèn)樣式(中等圓形))
第二種
(長(zhǎng)方形進(jìn)度條)
進(jìn)度條用處很多,比如,應(yīng)用程序裝載資源和網(wǎng)絡(luò)連接時(shí),可以提示用戶稍等,這一類(lèi)進(jìn)度條只是代表應(yīng)用程序中某一部分的執(zhí)行情況,而整個(gè)應(yīng)用程序執(zhí)行情況呢,則可以通過(guò)應(yīng)用程序標(biāo)題欄來(lái)顯示一個(gè)進(jìn)度條,這就需要先對(duì)窗口的顯示風(fēng)格進(jìn)行設(shè)置"requestWindowFeature(Window.FEATURE_PROGRESS)"。
顯示百分比需要自己計(jì)算加載的內(nèi)容,以下以webview示例,webview加載網(wǎng)頁(yè)的時(shí)候可以增加進(jìn)度條:
1.從webview中獲取設(shè)置
websettings
sws
=
webview.getsettings();
sws.setsupportzoom(true);
sws.setbuiltinzoomcontrols(true);
webview.setinitialscale(25);
webview.getsettings().setusewideviewport(true);
2.注冊(cè)setwebchromeclient事件
webview.setwebchromeclient(new
webchromeclient()
{
public
void
onprogresschanged(webview
view,
int
progress)
{
//
activity和webview根據(jù)加載程度決定進(jìn)度條的進(jìn)度大小
//
當(dāng)加載到100%的時(shí)候
進(jìn)度條自動(dòng)消失
//webviewprogressactivity.this.settitle("loading...");
//webviewprogressactivity.this.setprogress(progress
*
100);
if
(progress
==
100)
{
progressbar.setvisibility(view.gone);
//webviewprogressactivity.this.settitle("完成");
}
}
});
3.注意在onprogresschanged中處理進(jìn)度,progress就是進(jìn)度值。
由于Android的界面更新只能通過(guò)自己的UI線程進(jìn)行操作,所以我們需要用到Handler在進(jìn)行更新界面的操作。
1、聲明變量
private Handler handler = new Handler();
private ProgressDialog progressDialog = null;
2、在開(kāi)始進(jìn)行網(wǎng)絡(luò)連接時(shí)顯示進(jìn)度條對(duì)話框
progressDialog = ProgressDialog.show(MyActivity.this, "請(qǐng)稍等...", "獲取數(shù)據(jù)中...", true);
3、在handler.post中進(jìn)行界面更新
public void setListAdapter(){
handler.post(new Runnable() {
public void run() {
//將獲取到的數(shù)據(jù)更新到列表中
MyListView.setAdapter(saImageItems);
}
}
});
4、開(kāi)個(gè)新的線程進(jìn)行網(wǎng)絡(luò)連接獲取數(shù)據(jù)
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//向服務(wù)器請(qǐng)求數(shù)據(jù)
mapList=MyAPI.getAllDatas();
setListAdapter(mapList);
//更新完列表數(shù)據(jù),則關(guān)閉對(duì)話框
progressDialog.dismiss();
}}).start();
整個(gè)過(guò)程就這樣完成了,下面是效果圖:
Handler和ProgressBar實(shí)現(xiàn)進(jìn)度條的開(kāi)始,暫停,停止,后退和循環(huán)
一,涉及的handler類(lèi)方法
1,
post(Runnable r)
Causes the Runnable r to be added to the message queue.將要執(zhí)行的線程對(duì)象加到隊(duì)列當(dāng)中
2,
removeCallbacks(Runnable r)
Remove any pending posts of Runnable r that are in the message queue.移除隊(duì)列當(dāng)中未執(zhí)行的線程對(duì)象
3,
postDelayed(Runnable r, long delayMillis)
Causes the Runnable r to be added to the message queue, to be run after the specified amount of time elapses.
將要執(zhí)行的線程對(duì)象放入到隊(duì)列當(dāng)中,待時(shí)間結(jié)束后,運(yùn)行制定的線程對(duì)象
二,編寫(xiě)程序
程序效果:實(shí)現(xiàn)進(jìn)度條的開(kāi)始,暫停,停止,后退和循環(huán)
網(wǎng)站標(biāo)題:進(jìn)度條android,進(jìn)度條怎么制作
URL鏈接:http://chinadenli.net/article24/dsgidje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、用戶體驗(yàn)、品牌網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)