2025-02-10

mian.xml
 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
    <TextView 
        android:id="@+id/information" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="progressdialog"/> 
    <Button  
        android:id="@+id/button1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="圓形"/> 
    <Button  
        android:id="@+id/button2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="水平條"/> 
 
</LinearLayout> 
 
 
java:
 
package Android2.test; 
 
import android.app.Activity; 
import android.app.ProgressDialog; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
 
public class Android2Activity extends Activity { 
    private Button Button1,Button2; 
        
    int m_count = 0; 
    //聲明進度條對話框 
    ProgressDialog progressdialog; 
    
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        
        //得到按鈕對象 
        Button1 = (Button)findViewById(R.id.button1); 
        Button2 = (Button)findViewById(R.id.button2); 
        
        //設置Button1的事件監聽 
        Button1.setOnClickListener(new Button.OnClickListener() { 
            public void onClick(View v) 
            { 
                // TODO Auto-generated method stub 
                
                //創建ProgressDialog對象 
                progressdialog = new ProgressDialog(Android2Activity.this); 
 
                // 設置進度條風格,風格為圓形,旋轉的 
                progressdialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
 
                // 設置ProgressDialog 標題 
                progressdialog.setTitle("提示"); 
                
                // 設置ProgressDialog 提示信息 
                progressdialog.setMessage("正在緩沖中,請稍等….."); 
 
                // 設置ProgressDialog 標題圖標 
//                m_pDialog.setIcon(R.drawable.img1); 
 
                // 設置ProgressDialog 的進度條是否不明確 
                progressdialog.setIndeterminate(false); 
                 
                // 設置ProgressDialog 是否可以按退回按鍵取消 
                progressdialog.setCancelable(true); 
                
                // 設置ProgressDialog 的一個Button 
                progressdialog.setButton("確定", new DialogInterface.OnClickListener() { 
                    public void onClick(DialogInterface dialog, int i) 
                    { 
                        //點擊“確定按鈕”取消對話框 
                        dialog.cancel(); 
                    } 
                }); 
 
                // 讓ProgressDialog顯示 
                progressdialog.show(); 
            } 
        }); 
        
      //設置Button2的事件監聽 
        Button2.setOnClickListener(new Button.OnClickListener() { 
            public void onClick(View v) 
            { 
                // TODO Auto-generated method stub 
                
                m_count = 0; 
                
                // 創建ProgressDialog對象 
                progressdialog = new ProgressDialog(Android2Activity.this); 
                
                // 設置進度條風格,風格為長形 
                progressdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
                
                // 設置ProgressDialog 標題 
                progressdialog.setTitle("提示"); 
                
                // 設置ProgressDialog 提示信息 
                progressdialog.setMessage("正在緩沖中,請稍等….."); 
                
                // 設置ProgressDialog 標題圖標 
//                m_pDialog.setIcon(R.drawable.img2); 
                
                // 設置ProgressDialog 進度條進度 
                progressdialog.setProgress(100); 
                
                // 設置ProgressDialog 的進度條是否不明確 
                progressdialog.setIndeterminate(false); 
                
                // 設置ProgressDialog 是否可以按退回按鍵取消 
                progressdialog.setCancelable(true); 
                
                // 讓ProgressDialog顯示 
                progressdialog.show(); 
                
                new Thread() 
                { 
                    public void run() 
                    { 
                        try 
                        { 
                            while (m_count <= 100) 
                            { 
                                // 由線程來控制進度。 
                                progressdialog.setProgress(m_count++); 
                                Thread.sleep(100);  
                            } 
                            progressdialog.cancel(); 
                        } 
                        catch (InterruptedException e) 
                        { 
                            progressdialog.cancel(); 
                        } 
                    } 
                }.start(); 
                
            } 
        }); 
    } 
}   

摘自 落日小屋

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *