ToastMessage سفارشی در b4a

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

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

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

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

 

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


 

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

 

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

 

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

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

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

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

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

موفق باشید.

دیدگاهتان را بنویسید