进度条ProgressBar的功能和用法

进度条ProgressBar的功能和用法

通过style属性可以为progressBar指风格


ProgressBar提供如下方法操作进度的完成百分比

setProgress(int)设置进度的完成百分比

incrementProgressBy(int)设置进度条的进度增加和减少,正为增加,负为减少。


package com.example.bao;


import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;


import android.app.Activity;

import android.app.ActionBar;

import android.app.Fragment;

import android.net.wifi.WifiEnterpriseConfig.Eap;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ViewGroup;

import android.view.ViewGroup.LayoutParams;

import android.widget.AbsListView;

import android.widget.AdapterViewFlipper;

import android.widget.ArrayAdapter;

import android.widget.BaseAdapter;

import android.widget.BaseExpandableListAdapter;

import android.widget.ExpandableListView;

import android.widget.ImageView;

import android.widget.ImageView.ScaleType;

import android.widget.LinearLayout;

import android.widget.ProgressBar;

import android.widget.SimpleAdapter;

import android.widget.Spinner;

import android.widget.StackView;

import android.widget.TextView;

import android.os.Build;




public class MainActivity extends Activity {

        // 该程序模拟填充长度100的数组

        private int[] data = new int[100];

        int hasData = 0;

        // 记录ProgressBar的完成进度

        int status = 0;

        ProgressBar pb1, pb2;

        // 创建一个负责更新的进度Handler

        Handler handler = new Handler() {

                public void handleMessage(Message msg) {

                        // 表明消息是由该程序发送的

                        if (msg.what == 0x11) {

                                pb1.setProgress(status);

                                pb2.setProgress(status);

                        }

                }

        };


        protected void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);

                setContentView(R.layout.progressbar);

                pb1 = (ProgressBar) findViewById(R.id.bar);

                pb2 = (ProgressBar) findViewById(R.id.bar2);

                // 启动线程来执行任务

                new Thread() {

                        public void run() {

                                while (status < 100) {

                                        // 获取耗时操作的完成百分比

                                        status = dowork();

                                        // 发送消息

                                        handler.sendEmptyMessage(0x11);

                                }

                        }

                }.start();

        }


        // 模拟耗时操作

        public int dowork() {

                // 为数组元素赋值

                data[hasData++] = (int) (Math.random() * 100);


                try {

                        Thread.sleep(500);

                } catch (InterruptedException e) {

                        // TODO: handle exception

                        e.printStackTrace();

                }

                return hasData;

        }


}




    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >


   

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:orientation="horizontal" >


       


       

            style="@android:style/Widget.ProgressBar.Large"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content" />

       


       

            android:layout_width="wrap_content"

            android:layout_height="wrap_content" />

       


       

            style="@android:style/Widget.ProgressBar.Small"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content" />

   


   

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="任务完成进度" />

   


   

        android:id="@+id/bar"

        style="@android:style/Widget.ProgressBar.Horizontal"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:max="100" />

   


   

        android:id="@+id/bar2"

        style="@android:style/Widget.ProgressBar.Horizontal"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:max="100"

        android:progressDrawable="@drawable/my_bar" />




   

   

        android:id="@android:id/background"

        android:drawable="@drawable/mia4">

   

   

   

        android:id="@android:id/progress"

        android:drawable="@drawable/mia2">

   




你可能感兴趣的:(进度条ProgressBar的功能和用法)