標籤:android style blog http io color ar 使用 sp
<?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/ok" /> <!-- 定義軌道上已完成部分的樣式 --> <item android:id="@android:id/progress" android:drawable="@drawable/no" /></layer-list>
my_bar.xml //配置進度條的圖片
@drawable/ok @drawable/no 為圖片儲存在drawable檔案夾中
布局檔案中進度條配置
<ProgressBar <!--使用系統預設的-->android:id="@+id/bar" android:layout_width="fill_parent" android:layout_height="wrap_content"android:max="100"style="@android:style/Widget.ProgressBar.Horizontal"/><!-- 定義一個水平進度條,並改變軌道外觀 --><ProgressBar <!--自訂-->android:id="@+id/bar2" android:layout_width="fill_parent" android:layout_height="wrap_content"android:max="100"android:progressDrawable="@drawable/my_bar" <!--此為上面的設定檔-->style="@android:style/Widget.ProgressBar.Horizontal"/>
activity中調用
1 public class ProgressBarTest extends Activity 2 { 3 //該程式類比填充長度為100的數組 4 private int[] data = new int[100]; 5 int hasData = 0; 6 //記錄ProgressBar的完成進度 7 int status = 0; 8 @Override 9 public void onCreate(Bundle savedInstanceState)10 {11 super.onCreate(savedInstanceState);12 setContentView(R.layout.main);13 final ProgressBar bar = (ProgressBar) findViewById(R.id.bar);14 final ProgressBar bar2 = (ProgressBar) findViewById(R.id.bar2);15 //建立一個負責更新的進度的Handler16 final Handler mHandler = new Handler()17 {18 @Override19 public void handleMessage(Message msg)20 {21 //表明訊息是由該程式發送的。22 if (msg.what == 0x111)23 {24 bar.setProgress(status);25 bar2.setProgress(status);26 }27 }28 };29 //啟動線程來執行任務30 new Thread()31 {32 public void run()33 {34 while (status < 100)35 {36 // 擷取耗時操作的完成百分比37 status = doWork();38 // 發送訊息到Handler39 Message m = new Message();40 m.what = 0x111;41 // 發送訊息42 mHandler.sendMessage(m);43 }44 }45 }.start();46 }47 //類比一個耗時的操作。48 public int doWork()49 {50 //為數組元素賦值51 data[hasData++] = (int)(Math.random() * 100);52 try53 {54 Thread.sleep(100);55 }56 catch (InterruptedException e)57 {58 e.printStackTrace();59 }60 return hasData;61 }62 }
android progressbar 水平進度條