כיצד להציג שיח התראה באנדרואיד?
צור את האובייקט של תיבת הדו-שיח והגדר את הבנאי להתייחס לאובייקט החדש וליצור את התיבה.
AlertDialogs הם חלונות קופצים המשמשים להנחיית משתמש לגבי פעולה שיש לבצע. AlertDialog עשוי לשמש גם לפעולות אחרות כגון מתן רשימת אפשרויות לבחירה או שניתן להתאים אישית כך שהמשתמש יספק פרטים ייחודיים כגון פרטי הכניסה או הגדרות היישום שלהם.
חלק 1 מתוך 4: הבנת שיחות התראה
- 1להבין את המבנה הבסיסי של דיאלוג התראה. AlertDialog הוא כאשר אפליקציית אנדרואיד משתמשת במערכת אנדרואיד כדי להעלות מידע חשוב למשתמש לקריאה. ניתן להשתמש ב- AlertDialog גם כדי להזהיר או לבקש מהמשתמש לשנות הגדרה חשובה. הוא יכיל שלושה מרכיבים בתיבת הדו-שיח.
- כותרת היא אופציונלית אך יכולה להיות שימושית להכניס הודעה או שאלה פשוטים. זה יכול להכיל גם סמל
- אזור התוכן שיכול להציג הודעה, רשימה או פונקציות פריסה מותאמות אישית אחרות.
- לחצני פעולה המשמשים את המשתמש לשליחת תגובה לתיבה AlertDialog. יכול להיות כפתור חיובי, כפתור שלילי או כפתור ניטראלי. אתה יכול להחזיק רק אחד מכל סוג ועד שלושה כפתורים בתיבת דו-שיח התראה נתונה.
- 2להבין מה זה כיתה. מחלקה היא תבנית המאפשרת ליצור אובייקטים אחרים בעלי מאפיינים והתנהגויות משלהם. מחלקת AlertDialog היא תת-מחלקה של מחלקת Dialog הכוללת מאפיינים ייחודיים משלהם היכולת להציג עד שלושה כפתורים בנוסף להנחיית Dialog רגילה.
- 3החליטו על מטרת הדיאלוג. מה המטרה של תיבת AlertDialog? מה האפשרויות שיהיו למשתמש? האם יתכן שהמשתמש יתעלם מתהליך זה אחרת? רשמו מה המשתמש יתבקש ושימו לב לבחירותיו ומה הוא עושה. אם הכתיבה נראית לא ברורה עבור המשתמש, יתכן שהם לא מבינים את מטרת התיבה AlertDialog.
- 4כתוב והמחיש את דיאלוג ההתראה. צייר כיצד תרצה שתראה תיבת AlertDialog. רשמו את הרשימה את האפשרויות שתרצו ליישם ופעולותיהן כתוצאה מכך. חשוב היטב מה מתבקש מהמשתמש וודא שהכתיבה אינה יוצרת עמימות.
- 5הורד והתקן את אנדרואיד SDK. ערכת פיתוח תוכנה או SDK משמשת לפתח תוכנה בסביבה מיוחדת עבור יצירת תוכניות ויישומים. אתה יכול להוריד SDK ישירות מאתר המפתחים של Android.
- 6צור פרויקט חדש. גם אם יש לך פרויקט קיים, יצירת פרויקט יכולה להיות אידיאלית אם ברצונך ליצור סביבת בדיקה לפני הוספת קוד לפרויקט הראשי שלך. משורת התפריטים לחץ על קובץ> חדש> פרויקט חדש... ופעל לפי ההנחיות ליצירת יישום חדש.
אתה יכול להחזיק רק אחד מכל סוג ועד שלושה כפתורים בתיבת דו-שיח התראה נתונה.
חלק 2 מתוך 4: קידוד הודעת התראה
- 1צור טריגר עבור תיבת הדיאלוג. יש להעלות את AlertDialog על ידי פעולה המבוצעת על ידי המשתמש. אתה יכול לערוך את הפריסה הראשית של האפליקציה תחת הקובץ "activity_main.xml" כדי לספק כפתור לבדיקת ה- AlertDialog. ישנן שתי דרכים ליצור כפתור. עבור בין שיטות עיצוב וקידוד על ידי לחיצה על עיצוב או טקסט שנמצאים בתחתית חלונית החלון הראשית כדי לעבור בין המצבים השונים.
- אנדרואיד SDK מאפשר לך לערוך את הפריסה שלך, כגון ממשק הקצה הראשי שנמצא בהיררכיית הפרויקט תחת תיקיית הפריסה באמצעות ממשק גרור ושחרר כדי ליצור כפתור.
- תוכל גם ליצור כפתור בקוד XML בעצמך על ידי עריכת מסמך ה- XML. שימו לב לשורה המציינת את הפעולה onClick משמשת להפעלת התיבה AlertDialog כאשר לוחצים על הלחצן.
<Button אנדרואיד: layout_width = "wrap_content" אנדרואיד: layout_height = "wrap_content" android: text = "Dialog Test Alog" אנדרואיד: id = "@ + id / buttonTest" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" אנדרואיד: layout_marginTop = "77dp" אנדרואיד: onClick = "showDialog" />
- 2ייבא את מחלקת ההתראה כדי לגשת לממשק ה- API. זה יהיה צורך בכדי לגשת למחלקה כדי ליצור את בקשת AlertDialog. המחלקה של AlertDialog מספקת את היכולת ליצור את תיבת הדו-שיח על המסך, להגדיר את האפשרויות שלה, להציג כותרות ולהראות תכנים בחלון הדיאלוג. כדי לייבא את הכיתה, פתח את הקובץ "MainActivity.java". גלול לראש הקובץ והצב אותו בין שאר המחלקות המיובאות לפרויקט.
יבוא android.app.AlertDialog;
- שיעור זה יהיה שימושי לכל היישום שלך. הקפד להוסיף אותו לראש היררכיית הקוד שלך.
- 3זהה אובייקט כפתור. אובייקט כפתור עוזר בזיהוי יישומון לחיצות כפי שנראה בקוד ה- XML. בקוד הג'אווה הראשי שלך, "MainActivity.java" מזהה ומאתחל אובייקט כפתור בתחילת השיטה הראשית שלך, שהיא המחלקה הראשית של האפליקציה שלך.
כפתור כפתור פרטיAlertDialog; buttonAlertDialog = (כפתור) findViewByID (R.id.buttonTest);
- 4האזן לפעילות כפתורים. באמצעות OnClickListener, תוכל לצפות מתי המשתמש ילחץ על הכפתור כדי להתחיל בפעולה. OnClickListener מבוצע על ידי האזנה לקלט המשתמש כאשר הם לוחצים על כפתור מתאים. נשתמש במאזין כדי לפתוח את בקשת AlertDialog שלנו.
buttonAlertDialog.setOnClickListener (View.OnClickListener חדש () {@Override public void onClick (View alertView) {}); - 5קוד את מרכיבי הדיאלוג. בתוך פונקציית onClick, יהיה עליך ליצור אובייקט AlertDialog ולספק לו כותרת, הודעה וסוגי כפתורים לשימוש לצורך בקשתך.
- צור את האובייקט של תיבת הדו-שיח והגדר את הבנאי להתייחס לאובייקט החדש וליצור את התיבה.
AlertDialog alertDialog1 = AlertDialog.Builder חדש (MainActivity.this)
- 6השתמש בפונקציה setter כדי ליצור כותרת. פונקציית קובעת מאפשרת לך לספק משתנה לאובייקט. זה אידיאלי כדי להימנע משימוש במשתנים גלובליים העלולים לגרום לבעיות ביצועים. כותרת היא אופציונאלית לחלוטין, אך ניתן להגדיר כזו שתופיע בראש חלון AlertDialog.
alertDialog1.setTitle ("מדריך התראת דוגמה"); - 7השתמש בפונקציית מגדיר להגדרת הודעה. הזן הודעה כדי לתאר מה אתה רוצה שהמשתמש יענה.
alertDialog1.setMessage ("אנדרואיד מספקת לך הודעה לאישור."); - 8השתמש בפונקציות setter כדי להגדיר מאפייני כפתורים. ספק לחצנים לשימוש המשתמש. ניתן להשתמש בשילוב של כפתור חיובי, כפתור שלילי וכפתור ניטראלי. אתה יכול להשתמש בכל שילוב משלושת הסוגים, אך אתה יכול להשתמש רק באחד מכל אחד עד שלושה כפתורים. השתמש בפונקציות onClick כדי לספק פעולה כאשר המשתמש לוחץ על אחד משלושת הלחצנים בתחתית הפקודה AlertDialog.
alertDialog1.setPositiveButton ("OK", OnClickListener חדש () {public void onClick (DialogInterface dialog, int which) {}}). alertDialog1.setNegativeButton ("OK", OnClickListener חדש () {public public onClick (DialogInterface dialog, int which alertDialog1.setNeutralButton ("אישור", OnClickListener חדש () {חלל ציבורי onClick (DialogInterface dialog, int אשר) {}}); - 9השתמש בפונקציית קובע להפעלת לחצן הביטול הפיזי. באפשרותך לספק פונקציית ביטול למקש האחורי במכשיר האנדרואיד עצמו מבלי להקיש גם על אחד הלחצנים. אם הוא מוגדר כ- False, כפתור חזרה על מכשיר אנדרואיד הוא התעלם.
alertDialog1.setCancelable (true);
- 10צור את תיבת הדו-שיח. השתמש בזה כדי ליצור את האובייקט AlertDialog. זה צריך להיעשות לפני הצגת ה- AlertDialog על המסך.
alertDialog1.create ();
- 11הראה את תיבת הדו-שיח. לאחר יצירת האובייקט, השתמש בפעולה זו כדי להציג את AlertDialog על המסך.
alertDialog1.show ();
ייבא את מחלקת ההתראה כדי לגשת לממשק ה- API. זה יהיה צורך בכדי לגשת למחלקה כדי ליצור את בקשת AlertDialog.
חלק 3 מתוך 4: קידוד דיאלוג רשימה
- 1צור מערך. אתה יכול להשתמש באחד משלושה סוגים שונים של רשימות שבהם אתה יכול להשתמש. במקום להשתמש בפונקציה setMessage, השתמש ברשימה אם ברצונך לספק תשובות לבחירה מרובה. על הרשימה שלך ליצור מערך באופן עצמאי כדי לרשום את האפשרויות הזמינות השונות. הרשימה תשתמש במערך להצגת האפשרויות השונות הזמינות.
סופי CharSequence [] items = {"ערוך", "דרג", "שתף", "קשור"}; - 2צור דיאלוג רשימות. השתמש ב- setItems כדי לספק רשימת אפשרויות לבחירה. זה יופיע כרשימה של לחצני בחירה לבדיקה. הפונקציה תדרוש מגוון אפשרויות לבחירה ו- onClickListener לייצוג קלט המשתמש.
dialog.setItems (פריטים, DialogInterface חדש.OnClickListener () {public void onClick (DialogInterface dialog, item item) {// הצב פעולות שנוצרו בפונקציה זו // המשתנה שלם פריט הוא מיקום האינדקס של הפריט שנבחר}}); - 3צור רשימה הכוללת אפשרויות בחירה מרובות. השתמש ב- setMultiChoiceItems אם ברצונך שהמשתמש יוכל לבחור מספר אפשרויות. האפשרויות שלהם יוצגו בתיבות הסימון בעת השימוש בהן.
dialog.setMultiChoiceItems (פריטים, null, DialogInterface חדש. OnMultiChoiceClickListener () {public void onClick (DialogInterface dialog, int item, boolean isChecked) {if (isChecked) // אם יש פריטים מסומנים // פריט הוא מיקום האינדקס של הנבחר פריט } }); - 4צור רשימה שתאפשר רק בחירה יחידה קבועה. השתמש ב- setSingleChoiceItems אם ברצונך שבחירת המשתמש היחידה תהיה קבועה. האפשרויות שלהם מופיעות באמצעות לחצני בחירה המופיעים כמעגלים עם נקודות בתוך הבחירה שנבחרה.
dialog.setSingleChoiceItems (פריטים, -1, DialogInterface חדש. OnMultiChoiceClickListener () {public void onClick (DialogInterface dialog, int item) {if (isChecked) // אם יש פריטים מסומנים // פריט הוא מיקום האינדקס של הפריט שנבחר} });
מחלקה חדשה תאפשר לך להפריד את הקוד לפריסת ההתראה הייחודית שלך.
חלק 4 מתוך 4: יצירת דיאלוג אזעקה מותאם אישית
- 1צור פריסה מותאמת אישית. AlertDialog מותאם אישית מאפשר לך ליצור פריסה הכוללת פרמטרים משלה ויכול להשיג מידע שניתן להשתמש בו כדי להשיג את פרטי הכניסה של המשתמש, הגדרות תצורה ועוד. ניתן ליצור פריסה חדשה שתיווצר בתבנית קידוד XML. חלק מה- SDK של Android מספקים את היכולת להשתמש בפונקציה גרור ושחרר כדי ליצור בקלות פריסה שתמיר אוטומטית ל- XML עבורך. משורת התפריטים בראש החלון, לחץ על קובץ> חדש> XML> פריסת קובץ XML. ספק שם קובץ פריסה ואז לחץ על סיום. הפריסה החדשה שלך תופיע בחלונית החלון הראשית.
- 2הוסף יישומונים או רכיבים אחרים לפריסה. ניתן להוסיף רכיבים באמצעות אחת משתי השיטות. אתה יכול לפתוח את קובץ הפריסה מלהסתכל בהיררכיית הפרויקט המוצגת בצד שמאל. ואז פתח את נתיבי התיקיה הבאים: "<AppName>> app> src> main> res> layout"
- 3צור כיתת Java חדשה. מחלקה חדשה תאפשר לך להפריד את הקוד לפריסת ההתראה הייחודית שלך. לחץ על קובץ> חדש> מחלקת Java. הקלד שם למחלקת Java החדשה שלך ואז לחץ על אישור. לדוגמא זו, אנו נקרא למחלקת הדוגמה הזו "CustomDialogExample".
- 4ייבא את קטע הדיאלוג. קטע הדיאלוג מאפשר תאימות מקסימאלית עם הגרסאות השונות של מערכת ההפעלה אנדרואיד.
יבוא android.support.v4.app.DialogFragment;
- וודא ששיטת המחלקה הראשית משתרעת על DialogFragment.
מחלקה ציבורית CustomDialogExample מרחיב את DialogFragment
- 5צור אובייקט מתנפח פריסה ואובייקט תצוגה. Inflater Layout מיישר קובץ XML פריסה לאובייקטים לתצוגה. אובייקט תצוגה הוא המבנה הבסיסי של רכיבי ממשק משתמש במרחב מסך מלבני ומצייר אובייקטים ווידג'טים על המסך.
מתנפח מתנפח; צפה בהתאמה אישית
- 6צור את פריסת הדו-שיח המותאמת אישית. אנו נצטרך שיהיה ציבורי כדי שניתן יהיה לגשת אליו במקום אחר ביישום והוא יחזיר אובייקט דיאלוג. זה יקבל אובייקט צרור.
דיאלוג ציבורי onCreateDialog (Bundle savedInstanceState) {} - 7נפח את הפריסה מפריסת ה- XML המותאמת אישית. עם יצירת האובייקטים LayoutInflater ו- View, ניפח את הפריסה וקבל את הפריסה המותאמת אישית לאובייקט View מתוך הפונקציה onCreateDialog.
מתנפח = getActivity (). getLayoutInflater (); customView = inflater.inflate (R.layout.dialog_custom_background, null);
- 8בנה את דיאלוג ההתראות המותאם אישית. בפונקציה onCreateDialog, השתמש בבונה AlertDialog כדי ליצור את הפריסה.
בונה AlertDialog.Builder = AlertDialog.Builder חדש (getActivity ());}}
- ייתכן שתרצה להוסיף כפתור לסגירת AlertDialog.
builder.setView (customView).setPositiveButton ("אישור", OnClickListener חדש () {חלל ציבורי onClick (DialogInterface dialog, int אשר) {}}); - 9החזר את שיח ההתראה המותאם אישית. מכיוון שאיננו נמצאים במוקד העיקרי של היישום, נסיים את הפונקציה onCreateDialog על ידי חזרה עם AlertDialog החדש שלנו.
להחזיר builder.create ();
- 10התקשר לדיאלוג המותאם אישית מהשיטה הראשית. יהיה עליך לקרוא לפונקציה שלך ממקומות אחרים, כגון השיטה העיקרית ליישום שלך. לדוגמא זו, אנו נקרא לפונקציה ציבורית זו customAlertDialogExample שייקח אובייקט תצוגה.
בטל ציבורי customAlertDialogExample (צפה בהתאמה אישית) {שיח CustomDialogExample = חדש CustomDialogExample (); dialog.show (getSupportFragmentManager (), "MyCustomAlertDialog"); }
- ה- SDK יציין אם לא ניתן להפעיל משהו על ידי טקסט אדום. לחיצה על הטקסט תבקש מ- SDK לייבא את הספרייה המתאימה להוסיף לפרויקט שלך. החזק Alt+ לחוץ ↵ Enterכדי להוסיף את הספרייה לפרויקט שלך.
שאלות ותשובות
- כיצד אוכל ליצור אפליקציית Android?על מנת ליצור אפליקציית Android, יהיה עליכם להוריד פלטפורמת SDK של Android כמו ה- SDK הרשמי. ה- SDK מאפשר ליצור פריסות מסך, קוד בהתנהגויות ולציין פלטפורמת מטרה של Android כגון טלפון, טאבלט, שעון, Android TV ועוד.
- כיצד אוכל לקבל בקשה מ- AlertDialog להשהות את האפליקציה שלי?מסכי AlertDialog לא יעצרו את האפליקציה מעצמם. יהיה עליך ליצור שיטה כדי להשהות את התוכנית שלך ולהציג את AlertDialog. תכנן את התוכנית כך שהיא תעדכן בתוך לולאת התוכנית שלך וצור AlertDialog מחוץ ללולאה זו על ידי שימוש במשהו כמו בוליאני כדי לציין לפעילות הלולאה של התוכנית אם עליה להמשיך או להפסיק. בקש מ- AlertDialog לשנות את הבוליאני כדי לאפשר לולאה להתנתק ולהמשיך את הלולאה כרגיל.