رفتن به مطلب

پست های پیشنهاد شده

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

امروز یک قطعه کد براتون آماده کردم که میتونید باهاش یک 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:

  • پسندیدن 5

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
Mthzf1384    78
در در 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:

  • پسندیدن 3

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در هم اکنون، 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:

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


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

×
×
  • جدید...