بسم الله الرحمن الرحيم
الكثير منا عندما يبرمج تطبيق للاندرويد يحتاج الى وضع 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 ومعاينة المزيد من الاشكال, والتعرف عليها أكثر من هنا
السلام عليكم ممكن ان تعمل لي تطبيق لموقعي في السوق بلاي دون ان يكون مخالف لسياسية السوق بلاي ولا يحذف