Android设置ProgressBar的前景和背景及其在多线程中的刷新
我們知道Android為ProgressBar提供了幾種不同的樣式,不過若是只是這幾種樣式還不能滿足我們對界面的需求。例如,我們ProgressBar的前景和背景。一般情況下我們希望這是一個按照我們自己意愿的這樣一個前景和背景。
這里又要分成幾種不同的情況:
1.規則的長方形;
2.環形;
3.不規則圖形;
我們這里只要對兩種情況進行一個討論。就是規則的長方形和不規則圖形。為什么不對第二種情況進行討論是因為規則的長方形和不規則的圖形筆者之前有用到過,環形的進度條筆者沒用到過,筆者在這里想偷個懶,其實很簡單的東西,相信大家也是有辦法知道該怎么做。
好了,廢話不多說。先是規則的長方形進度條。對于規則的長方形進度條,是要借助Android自帶的水平進度條,只是我們在xml文件中對ProgressBar進行一個進度樣式屬性設置。具體xml文件代碼如下:
<ProgressBarandroid:id="@+id/activity_main_progressbar"style="?android:attr/progressBarStyleHorizontal"android:layout_width="match_parent"android:layout_height="wrap_content"android:progressDrawable="@drawable/progressbg"android:layout_below="@+id/textView1" /> 其中,style="?android:attr/progressBarStyleHorizontal"對設置它的樣式,是水平還是環形等等。而android:progressDrawable="@drawable/progressbg"則是對前景和背景的一個設置。不一樣的是progressbg也是一個xml文件,而不是我們所熟悉的圖片了。是不是很奇怪為什么@drawable中還能放圖片之外的東西?然后這個圖片之外的東西對我們Android上界面的一些基本需求還是作出了巨大的貢獻的。這個progressbg.xml文件中的具體代碼如下:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" ><!-- 設置背景色圖像資源 --> <item android:id="@android:id/background" android:drawable="@drawable/progressbggreen" /> <!-- 設置第一級進度條顏色圖像資源 --> <item android:id="@android:id/progress" android:drawable="@drawable/progressbgpink" /></layer-list> 接下來是Java代碼,當然如果你之前就在xml的layout文件中寫好了ProgressBar的進度值,并且不需要去設置其進度值,那么接下來的代碼大可不必看了。Java中的關鍵代碼如下(其實的確也是廢話一句):
ProgressBar progressBar = (ProgressBar) findViewById(R.id.activity_main_progressbar); progressBar.setProgress(progress); 以上就是本程序的關鍵代碼,如果需要這個程序的源代碼(本程序的Demo中還寫了對進度條的動態刷新),點擊此網絡連接進行下載
說了規則的長方形進度條現在再來說說不規則的進度條。對于不規則的進度條,我們用到一個比較新的概念——蒙板效果。之前我寫過一篇有關于這個蒙板效果的博客,感興趣的朋友可以點擊如下連接查看。。。
—————————— Android中用圖片自定義一個進度條(實現蒙板效果)?——————————
里面也是蒙板效果的Demo源碼的。這里大家應該了解一個問題——規則的長方形進度條只是不規則圖形進度條的一種特殊情況。
總結
以上是生活随笔為你收集整理的Android设置ProgressBar的前景和背景及其在多线程中的刷新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java读取指定路径下的文件列表
- 下一篇: Android中最简单的分享功能