رفتن به مطلب

ToastMessage سفارشی


ارسال‌های توصیه شده

سلام و عرض ادب دارم خدمت همه دوستان عزیز انجمن

امروز یک قطعه کد براتون آماده کردم که میتونید باهاش یک ToastMessage کاملا سفارشی بسازید(رنگ زمینه و رنگ متن Toast رو خودتون تعیین میکنید.):Laie_60B:

خب بریم شروع کنیم:DD:

ابتدا کتابخانه Javaobject رو تیک بزنید، سپس کد زیر رو بین دوتا sub کپی و سپس پیست(copy & past)کنید:oops:

Sub ToastMessageShow_Custom(Message As Object, LongDuration As Boolean, BackgroundColor As Int , message_color As Int)
	Dim cs As CSBuilder
	cs.Initialize.Color(message_color).Size(20).Append(Message).PopAll
	Message=cs
	Dim ctxt As JavaObject
	ctxt.InitializeContext
	Dim duration As Int
	If LongDuration Then 
	duration = 1 
	Else
	duration = 0
	End If
	Dim toast As JavaObject
	toast = toast.InitializeStatic("android.widget.Toast").RunMethod("makeText", Array(ctxt, Message, duration))
	Dim v As View = toast.RunMethod("getView", Null)
	Dim cd As ColorDrawable
	cd.Initialize(BackgroundColor, 20dip)
	v.Background = cd
	toast.RunMethod("show", Null)
End Sub

حالا هرکجا که میخواهید یک toast سفارشی نمایش بدین اینطوری تابع بالارو فراخوانی کنید:

ToastMessageShow_Custom("Answercenter.ir",True,Colors.Blue,Colors.White)

1-توی پارامتر اول متن مورد نظرتون رو قرار بدید.

2-توی پارامتر دوم اگر true بزارید مدت زمان نمایش بیشتر و اگر false بزارید این مدت کم میشه.:DD:

3-پارامتر سوم رنگ زمینه toast رو میگیره که اینجا من آبی دادم.

4-پارامتر چهارم هم رنگ متن رو میگیره که من اینجا سفید دادم.

 

نتیجه کارمون این میشه::hi:

mytoast.PNG

 

موفق و سربلند باشید، یاعلی:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 18 بهمن 1399 در 09:14، امیرحسین قاسمی گفته است :

سلام و عرض ادب دارم خدمت همه دوستان عزیز انجمن

امروز یک قطعه کد براتون آماده کردم که میتونید باهاش یک ToastMessage کاملا سفارشی بسازید(رنگ زمینه و رنگ متن Toast رو خودتون تعیین میکنید.):Laie_60B:

خب بریم شروع کنیم:DD:

ابتدا کتابخانه Javaobject رو تیک بزنید، سپس کد زیر رو بین دوتا sub کپی و سپس پیست(copy & past)کنید:oops:


Sub ToastMessageShow_Custom(Message As Object, LongDuration As Boolean, BackgroundColor As Int , message_color As Int)
	Dim cs As CSBuilder
	cs.Initialize.Color(message_color).Size(20).Append(Message).PopAll
	Message=cs
	Dim ctxt As JavaObject
	ctxt.InitializeContext
	Dim duration As Int
	If LongDuration Then 
	duration = 1 
	Else
	duration = 0
	End If
	Dim toast As JavaObject
	toast = toast.InitializeStatic("android.widget.Toast").RunMethod("makeText", Array(ctxt, Message, duration))
	Dim v As View = toast.RunMethod("getView", Null)
	Dim cd As ColorDrawable
	cd.Initialize(BackgroundColor, 20dip)
	v.Background = cd
	toast.RunMethod("show", Null)
End Sub

حالا هرکجا که میخواهید یک toast سفارشی نمایش بدین اینطوری تابع بالارو فراخوانی کنید:


ToastMessageShow_Custom("Answercenter.ir",True,Colors.Blue,Colors.White)

1-توی پارامتر اول متن مورد نظرتون رو قرار بدید.

2-توی پارامتر دوم اگر true بزارید مدت زمان نمایش بیشتر و اگر false بزارید این مدت کم میشه.:DD:

3-پارامتر سوم رنگ زمینه toast رو میگیره که اینجا من آبی دادم.

4-پارامتر چهارم هم رنگ متن رو میگیره که من اینجا سفید دادم.

 

نتیجه کارمون این میشه::hi:

mytoast.PNG

 

موفق و سربلند باشید، یاعلی:53:

سلام دوست عزیز

ببخشید من میخوام یه کم تو آموزش شما دخالت کنم تا کامل تر بشه (البته کامل هست بیشتر کامل بشه:cheshmak:)

Sub ToastMessageShow_Custom(Message As Object , LongDuration As Boolean , x As Int , y As Int , BackgroundColor As Int , message_color As Int)
	Dim cs As CSBuilder
	cs.Initialize.Color(message_color).Size(20).Append(Message).PopAll
	Message=cs
	Dim ctxt As JavaObject
	ctxt.InitializeContext
	Dim duration As Int
	If LongDuration Then
		duration = 1
	Else
		duration = 0
	End If
	Dim toast As JavaObject
	toast = toast.InitializeStatic("android.widget.Toast").RunMethod("makeText", Array(ctxt, Message, duration))
	toast.RunMethod("setGravity", Array(Bit.Or(Gravity.TOP, Gravity.LEFT), x, y))
	Dim v As View = toast.RunMethod("getView", Null)
	Dim cd As ColorDrawable
	cd.Initialize(BackgroundColor, 20dip)
	v.Background = cd
	toast.RunMethod("show", Null)
End Sub

من به کد شما یک امکان دیگه هم اضافه کردم که برنامه نویس های عزیز میتونن با استفاده از این کد اون ToastMessage رو هر جا از اکتیویتی که خواستن نمایش بدن فقط کافیه جای اون X , Y عددی رو قرار بدن که میخوان درش ToastMessage نمایش داده بشه

به این صورت هم استفاده میشه:

ToastMessageShow_Custom("Answercenter.ir" , True , 25%X , 90%Y , Colors.Blue , Colors.White)

بازم ببخشید دخالت کردیم

موفق باشید :53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در هم اکنون، Mthzf1384 گفته است :

سلام دوست عزیز

ببخشید من میخوام یه کم تو آموزش شما دخالت کنم تا کامل تر بشه (البته کامل هست بیشتر کامل بشه:cheshmak:)


Sub ToastMessageShow_Custom(Message As Object , LongDuration As Boolean , x As Int , y As Int , BackgroundColor As Int , message_color As Int)
	Dim cs As CSBuilder
	cs.Initialize.Color(message_color).Size(20).Append(Message).PopAll
	Message=cs
	Dim ctxt As JavaObject
	ctxt.InitializeContext
	Dim duration As Int
	If LongDuration Then
		duration = 1
	Else
		duration = 0
	End If
	Dim toast As JavaObject
	toast = toast.InitializeStatic("android.widget.Toast").RunMethod("makeText", Array(ctxt, Message, duration))
	toast.RunMethod("setGravity", Array(Bit.Or(Gravity.TOP, Gravity.LEFT), x, y))
	Dim v As View = toast.RunMethod("getView", Null)
	Dim cd As ColorDrawable
	cd.Initialize(BackgroundColor, 20dip)
	v.Background = cd
	toast.RunMethod("show", Null)
End Sub

من به کد شما یک امکان دیگه هم اضافه کردم که برنامه نویس های عزیز میتونن با استفاده از این کد اون ToastMessage رو هر جا از اکتیویتی که خواستن نمایش بدن فقط کافیه جای اون X , Y عددی رو قرار بدن که میخوان درش ToastMessage نمایش داده بشه

به این صورت هم استفاده میشه:


ToastMessageShow_Custom("Answercenter.ir" , True , 25%X , 90%Y , Colors.Blue , Colors.White)

بازم ببخشید دخالت کردیم

موفق باشید :53:

:53:خیلی هم عالی، ممنون از توجه شما:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...