B4a Developers
52 subscribers
5 photos
3 videos
8 files
7 links
مرجع سورس کد و کتابخانه های b4a

👨🏻‍💻 @rasoull_hasanzade
Download Telegram
🔹 کلاس CustomTabHost
ساخت تب هاست سفارشی با امکان اضافه کردن آیکون،جدا کننده و اسکرول شونده

🔸سازگار با کتابخانه AhViewPager


#B4a #TabHost #tablayout
This media is not supported in your browser
VIEW IN TELEGRAM
📚سورس جدا کننده شماره کارت و شماره تلفن مشابه ویدئو

#edittext #B4a #Splitter
🎨 تشخیص رنگ های استفاده شده در تصاویر :

🔹برای دریافت رنگ های استفاده شده در تصویر میتوانید از کتابخانه زیر استفاده کنید :
📚ColorThief

همچنین برای روشن یا تیره بودن رنگ میتوانید از ساب زیر استفاده کنید :

Sub isColorDark(color As Int) As Boolean

Dim darkness As Float = 1 - (0.299 * GetARGB(color)(1) + 0.587 * GetARGB(color)(2) + 0.114 * GetARGB(color)(3))/255

If darkness <= 0.5 Then
Return False 'It's a light color
Else
Return True 'It's a dark color
End If

End Sub


#تصویر #رنگ #B4a
This media is not supported in your browser
VIEW IN TELEGRAM
📚کلاس Bottom_Dialog

🔷ساخت دیالوگ مشابه ویدئو با امکان :

🔹اضافه کردن ویو دلخواه و شخصی سازی کامل

🔹تغییر سایز در دو حالت فول اسکرین و اندازه دلخواه

🔹باز و بسته شدن به دو صورت Swipe (کشیدن دست به بالا و پایین) و با کد

#bottomDialog #B4a
🖼 لود چند تصویر بصورت گیف در ایمیج ویو
Public Sub StartDrawable()
Dim Jo As JavaObject
Jo.InitializeNewInstance("android.graphics.drawable.AnimationDrawable",Null)
For i = 0 To 3
Jo.RunMethod("addFrame",Array(GetFrame(i),100))
Next
Img.Background=Jo
Jo.RunMethod("start",Null)
End Sub
Private Sub GetFrame (index As Int) As BitmapDrawable
Dim Drawable As BitmapDrawable
Drawable.Initialize(LoadBitmap(File.DirAssets,"image"&index&".png"))
Return Drawable
End Sub

#b4a #gif #تکه_کد #گیف
ManageExternalStorage_1.00.zip
44.3 KB
📚سمپل گرفتن دسترسی حافظه در تارگت بالای 30 (Manage External Storage) و پایینتر از 30 (Runtime Permission) برای اپ هایی که با حافظه سروکار دارند

پ ن : برای این دسترسی اپ شما باید در یکی از دسته بندی های زیر قرار داشته باشه تا گوگل تایید کنه

File managers
Backup and restore apps
Anti-virus apps
Document management apps
On-device file search
Disk and file encryption
Device-to-device data migration

#b4a #حافظه #storage #manage_external_storage
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
📚کلاس collapsingbanner

با استفاده از این کلاس میتونید تبلیغات collapsingbanner (بنر باز شونده ادموب) رو در برنامتون پیاده کنید

#admob #collapsingbanner #b4a
#نکته_آموزشی #b4a

برای تبدیل xوy های استفاده شده تو پروژه به dip از تابع زیر استفاده کنید :

Sub XYtoDip(input As Float)As Float

Dim Dpi1 As Double = Round2((input/100dip),5)

Dim Dpi2 As Float = Dpi1*100

Return Dpi2
End Sub

🖊تابع بالا خروجی رو به صورت اعشاری بهتون dip برمیگردونه که میتونید این مقادیر رو جایگزین xوy های نوشته شده کنید


👨🏻‍💻نحوه استفاده :
log(XYToDip(10%x))
👌2
📚کلاس Rh_CustomSeekbar

ساخت سیک بار مشابه تصویر

🔹روش استفاده :

Sub Globals
Dim seek1 As Rh_CustomSeekbar

End sub


seek1.Initialize(Me,"seek1",100dip,30dip,Colors.Cyan, _
Colors.Magenta,Colors.LightGray, _
Colors.Magenta,5dip,20dip,10dip,10,5)

Activity.AddView(seek1.AsView,10dip,10dip,seek1.Width,seek1.Height)

#b4a #seekbar
❤‍🔥1
Rh_CustomSeekbar.bas
5 KB
3❤‍🔥1
#نکته_آموزشی #b4a

اگر اپی دارید که باید در پس زمینه سرویسی اجرا بشه به هیچ وجه از AUTOMATIC_FOREGROUND_NEVER استفاده نکنید چون برنامه کرش میکنه،بجاش میتونید از AUTOMATIC_FOREGROUND_WHEN_NEEDED استفاده کنید

#service #foreground #b4a
👍4
#نکته_آموزشی #b4a

🛠 با استفاده از ساب زیر میتونید اندازه ایمیج ویو رو با تصویرش تنظیم کنید تا در گوشی های مختلف کشیده نشه و بهم نریزه


Sub GetImgheightbyratio(size As Float,bmp As Bitmap) As Float
Dim ratio As Float
If bmp.width = bmp.height then return size
If bmp.Width > bmp.Height Then
ratio = bmp.Width/bmp.Height
size = size/ratio
Else
ratio = bmp.Height/bmp.Width
size = size* ratio
End If
Return size
End Sub


نحوه استفاده :
GetImgheightbyratio(img.width,img.bitmap)


@b4x_developers
❤‍🔥3
#نکته_آموزشی #b4a

برای غیر فعال کردن اسکرول دستی ریسایکلرویو از متد زیر استفاده کنید
Recyvlerview.SuppressLayout = True

با فعال کردن این گزینه برای جابجایی بین آیتم ها ،باید اول این متد رو غیر فعال کنید و بعد از رفتن به آیتم بعدی مجددا فعالش کنید!

مثال :

Recyvlerview.SuppressLayout = False
Recyvlerview.ScrollToPosition(1)
Recyvlerview.SuppressLayout = True
❤‍🔥2
📚 کتابخونه RH_UiTool

🔹 طراحی ثابت در تبلت ها و گوشی های مختلف
🔹تنظیم سایز متن در دستگاه های مختلف

🔹تبدیل x و y به dip

نمونه استفاده
UiTool.Initialize(Activity,360dip,616dip)'اندازه گوشی که با استفاده از UiTool.XYtoDip(Activity.Width) و   UiTool.XYtoDip(Activity.Height) بدست میاد


برای ویو ها :
Dim lbl as label  Activity.AddView(label,UiTool.Left(20dip),UiTool.Top(20dip),UiTool.width(20dip),UiTool.Height(35dip))


برای متن ها :

lbl.textsize = UiTool.TextSize(14)


❗️برای استفاده از این کتابخونه بهتره طراحی رو در یک گوشی پیاده سازی کنید سپس در گوشی های مختلف تست کنید

@b4x_developers

#b4a
#library
#uitool
❤‍🔥31