2011-06-23 37 views
34

Làm cách nào để hiển thị thanh tiến trình ngang không xác định trong Android? Hoạt ảnh của thanh tiến trình sẽ bắt đầu từ 0 đến 100 và sau đó quay lại từ 100 đến 0 liên tục. Tôi không tìm kiếm thanh tiến trình bánh xe.Cách hiển thị Thanh tiến trình không xác định ngang của Android

+0

tôi sẽ không đồng ý: câu hỏi là về lập trình, vì vậy vấn đề là gì Có thể không thực sự hiểu lý do hạ cấp – barmaley

+0

Tôi đã đăng một ví dụ thực hiện điều này ở đây: http://stackoverflow.com/questions/6097795/android-make-a-progress-bar-update-smoothly –

Trả lời

37

tôi đã biết rằng setIndeterminate sẽ đưa ra một thanh tiến trình ngang vô hạn. Nhưng nó sẽ tương tự như bánh xe tải, ngoại trừ việc nó sẽ nằm ngang. Nếu bạn nhìn thấy câu hỏi của tôi, tôi đang tìm kiếm thanh ngang bắt đầu từ 0 và đi tất cả các con đường đến 100 (tăng dần). Nếu bạn muốn đạt được điều này trong Android, bạn phải sử dụng sự tiến bộ của bạn thanh như sau:

<ProgressBar 
    android:id="@+id/progress_horizontal" 
    android:indeterminateOnly="false" 
    android:indeterminateDrawable="@drawable/progress_indeterminate_horizontal" 
    android:progressDrawable="@drawable/progress_horizontal" 
    android:minHeight="24dip" 
    android:maxHeight="24dip" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 

Như tôi muốn thay đổi nền của thanh tiến trình của tôi, tôi đã thay đổi ProgressDrawable và IndeterminateDrawable. Bản vẽ gốc được đặt dưới frameworks/base/core/res/res/drawable. Sao chép chúng vào dự án của bạn và thay đổi màu sắc theo nhu cầu của bạn.

Tạo chuỗi cập nhật số tiến trình và thực hiện Thread.Sleep. Sau đó, nó sẽ gửi tin nhắn đến Handler sẽ cập nhật thanh tiến trình trong chuỗi giao diện người dùng.

1

Trong xml định thanh tiến trình của bạn, bạn có thể thêm

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

Mở rộng trên Vinoth trả lời, đây là một mã đã sẵn sàng:

<ProgressBar 
     android:id="@+id/progressBarLoadingRecite" 
     android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal" 
     android:minHeight="24dip" 
     android:layout_marginTop="20dip" 
     android:indeterminate="true" 
     android:maxHeight="24dip" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 
Các vấn đề liên quan