برمجة custom Toast بطرق مختلفة

بسم الله الرحمن الرحيم

الكثير منا عندما يبرمج تطبيق للاندرويد يحتاج الى وضع Toast في احد الصفحات واغلبنا اعتاد ان يضع Toast كما هو معتاد عليها, التوست هي الإشعار الذي يظهر للمستخدم لعدة ثواني. بغرض تنبيه إو إخطاء أو إي رسالة يجب توجهيها للمستخدم, مثلاً تم حذف العنصر كذا وكذا, لا يوجد لديك اتصال بالانترنت, وإي كانت غيرها الكثير من الرسائل.

Toast.makeText(getApplicationContext(), "معاينة ", Toast.LENGTH_LONG).show();

ولكن في هنا سنشرح عدت طرق مختلفة لبرمجة Toast مخصصة تناسبك وبشكل جميل وجذاب.

ونبدأ بـ الطريقة الاولى :

اولاً: اضف هذا الكود البرمجي بداخل الكلاس الى الزر أو الصفحة التي تريد وضع فيها رسالة الـ Toast

LayoutInflater inflater = getLayoutInflater();
View view1 = inflater.inflate(R.layout.toast,
        (ViewGroup) findViewById(R.id.mylayout));
//هنا نربط ملف XML مع ال  Toast 
Toast custToast = new Toast(this);
custToast.setView(view1);
custToast.show();

بعد إضافتك لهذا الكود قم بإنشاء لياوت جديد بإسم toast وكذلك أجعل العنصر الأولى فيها يحمل المعرف mylayout إي الـ id.

وبداخلها اصنع ما شئت, وبهذه الطريقة يمكنك من صنع التوست الخاص بك, بإضافة ما تريد لها وبالشكل الذي يناسبك.

الطريقة الثانية :

بهذه الطريقة يمكنك برمجة رسائل التوست بأكثر اناقة واحترافية مع الاوبجكت Snackbar ولإستخدامه يجب أن تقوم بعمل استيراد للمكتبة من ملف الـ build.gradle. مع تغيير الرقم 28.0.0 لآخر اصدار متوفر حال تطبيقك لهذا الدرس.

implementation ‘com.android.support:design:28.0.0’

بعد استيراد المكتبة, من هنا يمكنك التحكم بها برمجيا فقط , وباقي الشرح داخل الكود :


   Snackbar snackbar = Snackbar
                        .make(coordinatorLayout, "نص التوست ", Snackbar.LENGTH_LONG)
                        .setAction("نص الزر ", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
// هنا تكتب الامر بعد الضغط على الزر دااخل التوست
                            }
                        });
                snackbar.setActionTextColor(Color.WHITE); // هنا لون النص داخل التوست
                snackbar.show();

وإما بالنسبة لـ coordinatorLayout فهي سوف تقوم بالإشارة بها إلى اللياوت الأب للواجهة التي سوف تظهر بداخلها التوست.

الطريقة الثالثة :

وهي عن طريق اضافة مكتبة مخصصة لتصاميم الـ Toast إي مكتبة جاهزة نستخدمها ونستفيد من الاكواد التي بداخلها.

ونشرح طريقة اضافة المكتبة 

اولا نذهب الى ملف build.gradle ونضف المكتبة 

implementation ‘com.github.GrenderG:Toasty:1.3.1’

بداخل الوسم dependencies كغيرها من المكاتب بهذا الملف, وبعد إضافة المكتبة.

نقوم الآن بإضافة السطر التالي :

maven { url "https://jitpack.io" }

في ملف build.gradle الخاص بالمشروع وليس للتطبيق إي build.gradle (Project) بداخل وسم repositories الذي بداخل واسم allprojects. والآن تستطيع استخدام المكتبة بنجاح.

  • لاضافة  Toast نجاح العملية باللون الاخضر, استخدم الكود :
Toasty.success(yourContext, "Success!", Toast.LENGTH_SHORT, true).show();
  • لاضافة Toast فشلت المهمة  باللون الاحمر, استخدم الكود :
Toasty.error(yourContext, "This is an error toast.", Toast.LENGTH_SHORT, true).show();
  • لاضافة رسالة “معلومة” :
Toasty.info(yourContext, "Here is some info for you.", Toast.LENGTH_SHORT, true).show();

وهي ليست فقط كما ذكرت, إنما هي إعدادات جاهزة, تستطيع استخدامها حسب ما يناسبك.

بالتوفيق لكم جميعاً ~

وايضاً يمكنك الاطلاع على المكتبة على موقع Github  ومعاينة المزيد من الاشكال, والتعرف عليها أكثر  من هنا

About Abdooswed

شاب سوري الجنسية مهتم كثير في تعلم البرمجة وكانت بدايتي من هنا موقع اندرودي عربي

Check Also

التقنيات التي نستطيع برمجة تطبيقات والعاب الاندرويد بها

هل أنت محتار من أين تريد البدأ في مجال برمجة التطبيقات للهواتف الذكية أو الألعاب عالية الاداء ؟ تعرف في هذا المقال عن اللغات والتقنيات واختر منها ما يناسبك لدخول هذا المجال

تعلم برمجة تطبيق اندرويد لمدونتك البلوجر (1)

هل لديك تدوينة أو موقع إخباري ؟ أو معرض يعرض الكثير من البيانات من وسائط ؟ وبحاجة لعرضها في تطبيق اندرويد ؟ هذه فرصتك من هنا وللمبتدئين تعلم برمجة تطبيق لمدونتك

عرض صورة في التطبيق من فايربيس

بسم الله الرحمن الرحيم اليوم سيكون شرحنا عن كيفية عرض صورة  في التطبيق من قاعدة …

One comment

  1. السلام عليكم ممكن ان تعمل لي تطبيق لموقعي في السوق بلاي دون ان يكون مخالف لسياسية السوق بلاي ولا يحذف

ضع بصمتك بتعليق يعبر عن امتنانك

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.