Alert Dialog

 

ما هي الAlert Dialog ؟ هي نافذة تظهر لتنبيه المستخدم لفعل أمر معين ويتم ربطها في activity محدد. تماماً مثل صندوق الحوار الذي يظهر عند مسح رقم هاتف مخزن لتأكيد عملية الحذف او الغاءها.

*كيفية انشاء الAlert Dialog:

هناك نوعين للAlert Dialog :-

1-Show dialog.

2-Custom dialog.

 

1-Show dialog:

رسالة تظهرلأغراض تنبيه المستخدم  بأمر معين ،(مثل رسالة التنبيه التي تظهر عند انخفاض نسبة شحن بطارية الهاتف)، يتيح ال show dialog لك استخدام ثلاثة أزرار فقط ( 3Buttons) او عدم استخدامهم وذلك حسب الحاجة.

أزرار ال show dialog :

1-  positive Button (يظهر على يمين ال dialog box)

2-negative Button  (يظهر على يسار ال dialog box)

3-neutral Button (يظهر في منتصف ال dialog box)

 

2- كيفية انشاء الshow dialog:

1- جملة بناء ال dialog

;(AlertDialog.Builder dialog=new AlertDialog.Builder(this

2- اضافة مكونات ال dailog :

dialog.setTitle (“dialog  تسمية ال ”);

dialog.setMessage (“ الرسالة التنبيهية المراد وضعها ”);

dialog.setIcon (“dialog  الصورة المراد تخصيصها بجانب تسمية ال  ”);

(ملاحظة : جميع مكونات ال dialog اختيارية الاستخدام )

 

3- اضافة أزرار ال show dialog:

dialog.setPositiveButton(“buttonتسمية ال ”,newOnClick)

قم باختيار ال OnClick كما هو موضح بالصوره أدناه:

 

عند اختيار ال OnClick يظهر ال override التالي:

(ملاحظة انتبه لا تنسى وضع ; بعد القوس الاخير)

 

 

4- لاضافة negative و neutral  قم بعمل نفس خطوات ال positive مع الاخذ بعين الاعتبار تغيير نوع ال button لnegative او neutral .

 

2- custom dialog:

نوع من أنواع الرسائل التنبيهية يمكن للمستخدم تخصيصه مع كائن معين غير ال

Button مثل (تخصيص EditText في ال dialog او غيره)كما يظهر في المثال أدناه :

كيفية انشاء الcustom dialog:

1- قم بإنشاء xml layout جديدة غير المرتبطة بال Main_Activity.

2- قم بانشاء الكائن الذي تريد تخصيصه في الcustom dialog في xml layout.

مثلا اذا اردت ظهور EditText او Button قم بإنشاءها اولا في xml layout

3- بناء ال dialog عن طريق كتابة الجملة التالية

AlertDialog.Builder dialog=new AlertDialog.Builder (this);

4- تهيئة ال activity لعملية ربطه مع xml layout الجديدة من خلال جملة

LayoutInflater x =(LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

5- استحضار الكائنات من ال xml layout إلى الMain_Activity لإظهارها عند تنفيذ التطبيق

(Run)  من خلال جملة :

View my=x.inflate(R.layout.dailog,null,false);

6- لتأكيد إظهار ال dialog Box اكتب الجملة التالية :

dialog.setView(my);

7- قم بتعريف الكائنات في ال Main_Activity كما موضح أدناه:

8- لتأكيد بناء ال dialog و عرضه اكتب ما يلي :

لتجنب تخطي ال Dialog Box وإلزام المستخدم لعمل الأمر قم بكتابة جملة

dialog.setCancelable(false);

عندها لن يتم انهاء Dialog Box اذا ما تم النقر على اي مكان داخل الشاشة.

 

اقرأ الدرس التالي : Notification