2012-01-28 42 views

Trả lời

1

Vui lòng truy cập this liên kết.

Cũng được giải thích đầy đủ trong ApiDemos bên trong SDK. Ví dụ mà bạn muốn có tên là: ProgressBar3.java và có thể được tìm thấy trong \ ApiDemos \ src \ com \ example \ android \ apis \ view \

Ngoài ra, nếu bạn muốn xóa đường viền của hộp thoại sao cho chỉ thanh tiến trình xuất hiện, bạn có thể định nghĩa hộp thoại chính nó như là một khung nhìn/lớp phủ trong suốt (nó cũng được giải thích trong các ví dụ).

17

Theo documentation, bạn nên gọi setProgressNumberFormat (null) trên ProgressDialog dụ của bạn để có được hành vi này

+2

phương pháp mà bạn đã đề cập đến là áp dụng cho cấp api 11. tôi là 10 – Dhanesh

+1

My xấu :(Tôi đã đào vào mã nguồn và tìm hiểu rằng không có cách "bình thường" để làm điều đó trong api 10. Tôi chỉ có thể đề xuất cách giải quyết để có được mã ProgessDialog đầy đủ từ Android 4.0.1 và sử dụng nó thay vì phiên bản được tích hợp sẵn. android "nội bộ" tài nguyên, nhưng nó cũng có sẵn như là nguồn để tái sử dụng. – OleGG

11

Hey Dưới đây Tải một tập tin từ một máy chủ, lưu một file vào sdcard và hiển thị một thanh tiến trình.

public class XYZ extends Activity { 

    public static final int DIALOG_DOWNLOAD_PROGRESS = 0; 
    private Button startBtn; 
    private ProgressDialog mProgressDialog; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     startBtn = (Button)findViewById(R.id.startBtn); 
     startBtn.setOnClickListener(new OnClickListener(){ 
      public void onClick(View v) { 
       startDownload(); 
      } 
     }); 
    } 

    private void startDownload() { 
     String url = "http://.jpg"; 
     new DownloadFileAsync().execute(url); 
    } 
    @Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DIALOG_DOWNLOAD_PROGRESS: 
      mProgressDialog = new ProgressDialog(this); 
      mProgressDialog.setMessage("Downloading file.."); 
      mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
      mProgressDialog.setCancelable(false); 
      mProgressDialog.show(); 
      return mProgressDialog; 
     default: 
      return null; 
     } 
    } 

class DownloadFileAsync extends AsyncTask<String, String, String> { 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     showDialog(DIALOG_DOWNLOAD_PROGRESS); 
    } 

    @Override 
    protected String doInBackground(String... aurl) { 
     int count; 

    try { 

    URL url = new URL(aurl[0]); 
    URLConnection conexion = url.openConnection(); 
    conexion.connect(); 

    int lenghtOfFile = conexion.getContentLength(); 
    Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile); 

    InputStream input = new BufferedInputStream(url.openStream()); 
    OutputStream output = new FileOutputStream("/sdcard/some_photo_from_gdansk_poland.jpg"); 

    byte data[] = new byte[1024]; 

    long total = 0; 

     while ((count = input.read(data)) != -1) { 
      total += count; 
      publishProgress(""+(int)((total*100)/lenghtOfFile)); 
      output.write(data, 0, count); 
     } 

     output.flush(); 
     output.close(); 
     input.close(); 
    } catch (Exception e) {} 
    return null; 

    } 
    protected void onProgressUpdate(String... progress) { 
     Log.d("ANDRO_ASYNC",progress[0]); 
     mProgressDialog.setProgress(Integer.parseInt(progress[0])); 
    } 

    @Override 
    protected void onPostExecute(String unused) { 
     dismissDialog(DIALOG_DOWNLOAD_PROGRESS); 
    } 
} 
} 

như thế này bạn sẽ có được ..

đây là ví dụ hình ảnh tôi tìm thấy trên mạng. enter image description here

và đây là tập tin xml của tôi:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello" /> 
    <Button 
     android:text="Start long running task.." 
     android:id="@+id/startBtn" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
    </Button> 
</LinearLayout> 
+5

Đây không phải là câu trả lời cho câu hỏi – SoroushA

Các vấn đề liên quan