จะสร้างกล่องโต้ตอบการโหลดใน Android ได้อย่างไร


86

กล่องโต้ตอบความคืบหน้าของการหมุนมืดในแอพ Amazon และ Engadget - เป็นมาตรฐานใน Android หรือไม่?

คำตอบ:


213

มันคือ ProgressDialog พร้อม setIndeterminate (จริง)

จากhttp://developer.android.com/guide/topics/ui/dialogs.html#ProgressDialog

ProgressDialog dialog = ProgressDialog.show(MyActivity.this, "", 
                    "Loading. Please wait...", true);

แถบความคืบหน้าไม่แน่นอนไม่แสดงแถบจริง แต่จะแสดงวงกลมกิจกรรมที่กำลังหมุนอยู่ ฉันแน่ใจว่าคุณรู้ว่าฉันหมายถึงอะไร :)


13
ProgressDialog หมดกำลังใจ ตามลิงค์ที่คุณโพสต์: "หลีกเลี่ยง ProgressDialog [... ] หากคุณต้องการระบุความคืบหน้าในการโหลดหรือไม่แน่นอนคุณควรปฏิบัติตามแนวทางการออกแบบสำหรับ Progress & Activity แทนและใช้ ProgressBar ในเค้าโครงของคุณ"
Ilya Kogan

2
ปัจจุบัน ProgressDialog ถูกนำออกจากเอกสารแล้วและดูเหมือนว่าโซลูชันจะไม่สามารถใช้งานได้อีกต่อไป
JcKelley

2
หากต้องการปิดกล่องโต้ตอบให้ใช้dialog.dismiss();
JohnTheBeloved

ProgressDialog เลิกใช้งานแล้วตรวจสอบคำตอบนี้: stackoverflow.com/a/45351516/5090196
omzer

31

วันนี้สิ่งต่างๆมีการเปลี่ยนแปลงเล็กน้อย

ตอนนี้เราหลีกเลี่ยงการใช้ ProgressDialog เพื่อแสดงความคืบหน้าในการหมุน:

ป้อนคำอธิบายภาพที่นี่

หากคุณต้องการทำให้แอปของคุณมีความก้าวหน้าคุณควรใช้ตัวบ่งชี้กิจกรรม:

http://developer.android.com/design/building-blocks/progress.html#activity


2
ดูวิธีการใช้งานได้ที่นี่: stackoverflow.com/questions/12316365/…
user2345998
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.