就是要实现这样的效果 进度条应该怎样加

解决方案 »

  1.   

    Handler myHandler = new Handler(){
    public void handleMessage(Message msg)
    {
    switch(msg.what)
    {
    case 0:
                            pd=ProgressDialog.show(friend_listActvity.this, "请稍候", "正在连接服务器...",true,true);
    break;
    case 1:
    pd.dismiss();
                                  
                               //显示图片

    break;
    }
    super.handleMessage(msg);
    }
    }; private void threading(){
    myHandler.sendEmptyMessage(0);
    new Thread() {
      public void run() {
      try {
      Thread.sleep(500);//加载图片资源,我做的是延迟
      myHandler.sendEmptyMessage(1);
          } 
          catch (Exception e) {
          e.printStackTrace();
          }
      }
      }.start();
    }
      

  2.   

    http://blog.sina.com.cn/s/blog_70677d110100r1q9.html
      

  3.   

    http://blog.sina.com.cn/s/blog_70677d110100r1q9.htmlup+
      

  4.   

    xh_ProgressBar2 是圆形,
    把xh_ProgressBar相关的处理屏蔽。
      

  5.   


    package bo.chen;import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.ProgressDialog;
    import android.content.Context;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.widget.LinearLayout;
    import android.widget.ProgressBar;public class ThreadActivity extends Activity {
    private MyHandler handler; @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    handler = new MyHandler();
    handler.sendEmptyMessage(0);


    } private class MyHandler extends Handler { @Override
    public void handleMessage(Message msg) {
    switch (msg.what) {
    case 0:
    PageTask task = new PageTask(ThreadActivity.this);
    task.execute("下载中");
    break;
    }
    } }

    class PageTask extends AsyncTask<String, Integer, String>{
    private LinearLayout layout;
    private ProgressBar bar;
    private AlertDialog alert;
    public PageTask(Context context){
    layout = new LinearLayout(context);
    bar = new ProgressBar(context);
    layout.addView(bar);
    /*bar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    bar.setTitle("xiazai");
    bar.show();*/
    alert = new AlertDialog.Builder(context).setView(layout).setTitle("xiazai").create();
    alert.show();
    }
    @Override
    protected String doInBackground(String... params) {
    //bar.setTitle(params[0]);
    for(int i = 0;i<= 20;i++){
    try {
    Thread.sleep(100);
    publishProgress(i);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return "over";
    }
    /*
    @Override
            protected void onProgressUpdate(Integer... values) {
                // 更新进度
                bar.setProgress(values[0]);
            }*/

    @Override
    protected void onPostExecute(String result) {
    if("over".equals(result))
    //bar.dismiss();
    alert.dismiss();
    }
    }
    }
    代码有的地方多余的
      

  6.   

    main.xml<?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        <ProgressBar
        android:id="@+id/progressbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="gone"
        />
       
    </FrameLayout>public class MID extends Activity {
     ProgressBar pb;
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);  
            pb=(ProgressBar)findViewById(R.id.progressbar);
            threading();
        }
        
        
        Handler myHandler = new Handler(){
         public void handleMessage(Message msg)
         {
         switch(msg.what)
         {
         case 0:
            pb.setVisibility(View.VISIBLE);
         break;
         case 1:
         pb.setVisibility(View.GONE);
           //显示图片     break;
         }
         super.handleMessage(msg);
         }
         };     private void threading(){
         myHandler.sendEmptyMessage(0);
         new Thread() {
         public void run() {
         try {
         Thread.sleep(5000);//加载图片资源,我做的是延迟
         myHandler.sendEmptyMessage(1);
         }  
         catch (Exception e) {
         e.printStackTrace();
         }
         }
         }.start();
         }
    }
      

  7.   

    重写个组件吧
    默认就一直绘制等待的圈圈
    图片下载好后,再用handler更新一下