Radiomedia 36 ارسال شده در 26 خرداد، ۱۳۹۹ اشتراک گذاری ارسال شده در 26 خرداد، ۱۳۹۹ کتابخانه Maatisa ScaleFont [sp] Library (ویرایش: - طبق این آموزش - اگر میخواید متنی رو با هر سایزی درون ویو خودتون فیت کنید این راهش نیست، در اصل اگر برای فیت کردن کدی بنویسید، نیازی به این کلاس نیست، و شما میتونید با کتابخانه StringUtils پهنا و ارتفاع متنتون رو نسبت به ویو بگیرید و اندازش کنید، کار این کتابخانه sp فقط تعادل متن نسبت به سایز صفحه است.) با سلام قبلا مشابه این کتابخونه موجود بوده اما پارامتر های بیشتری میخواستن و این کتابخونه خیلی استفادش آسونتره، البته در همه سایز تست شده و کاملا Scale میشه دقیق. - وقتی در IDE اندروید استودیو میخوایم سایز متنی رو تعیین کنیم از کلیدواژه sp بجای dp یا px استفاده میکنیم تا در دیوایس هایی با هر سایز و هر dpi ای بتوان سایز استاندارد و Scale شده را دریافت کرد و خروجی بینقصی داشته باشیم. اما در B4A چنین قابلیتی وجود ندارد بنابراین ما باید بصورت دستی نسبت اندازه دیوایس به رزولوشن را محاسبه کنیم. اما این کار نیاز به آزمون و خطاهای بسیاری دارد، و برای اطمینان باید هربار روی تلفن و تبلت تست گرفته شود، و برای استفاده روی ویوها هربار این فرمول تکرار و یا فراخوانی شود. کتابخانه ای که من برای شما آماده کردم این کار رو برای شما آسون میکنه، چون تست شده است، و کمترین زمان و خط کد رو از شما میگیره. برای استفاده ازین کتابخانه شما ابتدا کتابخانه را از اینجا دانلود و سپس در پوشه Additional Libraries کپی کنید، بعد یک شی از کلاس MSP در Sub Globals تعریف میکنید. سپس در Activity_Create یکبار آن را Initialize میکنید و درآن مقدار پهنای اکتیویتی خود را میدهید، و در ادامه برای هر ویویی که میخواهید سایز فونت آن را استاندارد بدهید، خط زیر را بجای سایز فونت وارد میکنید. lbl.TextSize = msp1.sp(15) این خط سایز ۱۵ استاندارد را برای هر اندازه ای تعیین خواهد کرد. به همین راحتی - نمونه سورس کامل: Sub Globals Dim msp1 As MSP End Sub Sub Activity_Create(FirstTime As Boolean) msp1.Initialize(Activity.Width) 'Initialize lib object with width of your Activity Dim lbl As Label lbl.Initialize("") lbl.Text = $"Maatisa ScaleFont [sp] Library${CRLF}Written by Mohsen Torabi"$ lbl.Gravity = Gravity.CENTER_HORIZONTAL + Gravity.CENTER_VERTICAL lbl.SingleLine = False lbl.Textsize = msp1.sp(15) 'Set best font size to Label Activity.AddView(lbl , 0 , 0 , 100%x , 10%y) Log(msp1.About) End Sub فایل پیش نمایش APK: دانلود فایل اصلی کتابخانه + سپمل برنامه: دانلود امیدوارم به کارتون بیاد ایشاله همیشه لبتون خندون باشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.