jeqele 562 ارسال شده در 19 بهمن، 2014 اشتراک گذاری ارسال شده در 19 بهمن، 2014 خوب با این ماژول که نوشتم میتونید برای label اندازه فونت رو درست کنین بدون اینکه در اسکرین های مختلف مشکل داشته باشین. در واقع با تغییر سایز فونت تو گوشی های مختلف فونت شما هم کم یا زیاد میشه. ماژولو یه نگاهی بندازین خیلی ساده نوشته شده و همونطور که قبلا گفتم یه جورایی کلک رشتیه اما در نبود کتابخانه AutoSizeTextLabel خوب کار میکنه. دوتا sub براش گذاشتم که توضیح میدم. ChangeFontByLabelSize.MinimomFontlabel(SampelLabel, Font) با این کد می تونید یه فونت دلخواه به label بدید که اگه نوشته از Label بیرون نزنه از این فونت استفاده میکنه اما اگه نوشته کامل دیده نشه تا اندازه ای که قابل رویت بشه فونت رو کم می کنه. ChangeFontByLabelSize.FitToLabelSize(SampelLabel) با این یکی همیشه فونت رو دقیقا تا حدی که نه کوچکتر از label باشه نه بزرگ تنظیم میکنه. خوب مطمعنا اگه یکم با b4a آشنایی داشته باشین هم میتونین ماژولو بسته به نیازتون تغییر بدین هم مثلا برای listview ازش استفاده کنین. خودم برای button استفاده کردم زیاد خوب در نیومد واسه همین اینجا نگذاشتم. http://s5.picofile.com/file/8152432742/ChangeFontByLabelSize.rar.html حالا مثال برای اعمال تغییرات روی لیبل: اول از همه باید کتابخانه StringUtils رو به پوشه Library اضافه کنید که اگه ندارید از اینجا دانلول کنید از حالت فشرده خارج کنید و اضافه کنید. http://s5.picofile.com/file/8154297092/StringUtils.rar.html بعدش ماژول رو از طریق Project>add existing moduls به برنامه اضافه کنید. بعد مثل این مثال عمل کنید. ِDim SV1 As ScrollView Dim label1 As Label SV1.Initialize(100%y) label1.Initialize("label") label1.Text = "your text" SV1.Panel.AddView(label1, 0, 0, 300dip, 600dip) ChangeFontByLabelSize.FitToLabelSize(label1) تو کد بالا خط به خط توضیح میدم. خط 1: یه اسکرول ویو تغریف کردم. خط 2: یه لیبل تعریف کردم. خط 3: اسکرول ویو رو اینیشیالایز کردم که اگه شما با دیزاینر تعرف کنی نیاز به این خط نیست. خط 4: لیبل رو رو اینیشیالایز کردم که اگه شما با دیزاینر تعرف کنی نیاز به این خط نیست. خط 5: به لیبل یه تکست دادم، شما هر تکستی خواستی به لیبل بده به جاش. مثلا میتونی از دیتانیس یا Edit text متنتو بگیری. خط 6: لیبل رو توی اسکرول ویو اضافه میکنه. پیشنهاد میشه سایز ها رو توی این خط به جای dip با %X و %y بدبد. خط 7: این خط همون روش استفاده از ماژوله. این خط کد مقدار فونت لیبل رو با دقیقا به انداطه ای که توی لیبل دیده بشه بزرگ با کوچیک می کنه. توی پست بعد آموزشش واسه لیست ویو گذاشتم یا حق لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
jeqele 562 ارسال شده در 20 بهمن، 2014 مالک اشتراک گذاری ارسال شده در 20 بهمن، 2014 خوب حالا برای آشنایی دوستان یه مثال از کاربرد این ماژول برای لیست ویو میزارمبرای این کار شما باید اول یه label تعریف کنید و اندازه گیری ها رو روی اون انجام بدید بعد اندازه ها رو به لیست ویو منتقل کنید و در نهایت لیبل رو remove کنید.این مثال برای یک لیست ویو با نام listview1 و با هر تعداد سطر که داشته باشه نوشته شده و جواب میده که در ابتدا بلند ترین سطر انتخاب میشه و اندازه گیری font بر پایه اون انجام میشهاول ماژول بالا رو به پروژه اضافه کنید و بعد از این کد استفاده کنید Dim st As String = "" Dim a As String Dim samplelabel As Label For i = 0 To Listview1.Size - 1 a = Listview1.GetItem(i) If a.Length > st.Length Then st = a End If Next samplelabel.Initialize("SampleLabel") samplelabel.Visible = False Activity.AddView(samplelabel, Listview1.Left, Listview1.Top, Listview1.Width, Listview1.SingleLineLayout.ItemHeight) samplelabel.Text = st samplelabel.TextSize = Listview1.SingleLineLayout.Label.TextSize ChangeFontByLabelSize.MinimomFontLabel(samplelabel, samplelabel.TextSize) Listview1.SingleLineLayout.Label.TextSize = samplelabel.TextSize samplelabel.RemoveView دوستان از همین روش میتونند برای button هم استفاده کنند اما به خوبی لیبل در نمیاد متاسفانه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
shahab1392 47 ارسال شده در 27 بهمن، 2014 اشتراک گذاری ارسال شده در 27 بهمن، 2014 با سلام متن داخل ScrollView رو چطور میشه تنظیم کرد لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Farzad Musavi 576 ارسال شده در 28 بهمن، 2014 اشتراک گذاری ارسال شده در 28 بهمن، 2014 با سلاممتن داخل ScrollView رو چطور میشه تنظیم کرد متن داخل ScrollView منظورت چیه؟ باید متن رو بزاری تو لیبل بعد بیاری اسکرول ویو دگ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
shahab1392 47 ارسال شده در 28 بهمن، 2014 اشتراک گذاری ارسال شده در 28 بهمن، 2014 متن داخل ScrollView منظورت چیه؟ باید متن رو بزاری تو لیبل بعد بیاری اسکرول ویو دگ ببخشید اشتباه شد بله متن داخل لیبل هستش لطفا بگید که این ماژول را چطور بکار ببرم و کجا قرارش بدم لطفا روان و واضح راهنمایی کنید ... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
jeqele 562 ارسال شده در 28 بهمن، 2014 مالک اشتراک گذاری ارسال شده در 28 بهمن، 2014 اول باید کتابخانه string utils رو اگه ندارید به برنامه اضافه کنید بعد ماژول رو از طریق Project>add existing moduls به برنامه اضافه کنید. بعد مثل این مثال عمل کنید. ِDim SV1 As ScrollView Dim label1 As Label SV1.Initialize(100%y) label1.Initialize("label") label1.Text = "your text" ChangeFontByLabelSize.FitToLabelSize(label1) SV1.Panel.AddView(label1, 0, 0, 300dip, 600dip) تو کد بالا خط به خط توضیح میدم. خط 1: یه اسکرول ویو تغریف کردم. خط 2: یه لیبل تعریف کردم. خط 3: اسکرول ویو رو اینیشیالایز کردم که اگه شما با دیزاینر تعرف کنی نیاز به این خط نیست. خط 4: لیبل رو رو اینیشیالایز کردم که اگه شما با دیزاینر تعرف کنی نیاز به این خط نیست. خط 5: به لیبل یه تکست دادم، شما هر تکستی خواستی به لیبل بده به جاش. مثلا میتونی از دیتانیس یا Edit text متنتو بگیری. خط 6: این خط همون روش استفاده از ماژوله. این خط کد مقدار فونت لیبل رو با دقیقا به انداطه ای که توی لیبل دیده بشه بزرگ با کوچیک می کنه. خط 7: لیبل رو توی اسکرول ویو اضافه میکنه. پیشنهاد میشه سایز ها رو توی این خط به جای dip با %X و %y بدبد. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
shahab1392 47 ارسال شده در 28 بهمن، 2014 اشتراک گذاری ارسال شده در 28 بهمن، 2014 سلام من از این استفاده میکنم ماژول رو هم گذاشتم ولی اخطار میده و متن رو نشون نمیده Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Private ScrollView1 As ScrollView End Sub Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: Activity.LoadLayout("frm2") If File.Exists(File.DirInternal,"data.db")= False Then File.Copy(File.DirAssets,"data.db",File.DirInternal,"data.db") End If If Menu.SQL1.IsInitialized=False Then Menu.SQL1.Initialize(File.DirInternal,"data.db",False) End If Dim cur As Cursor cur=Menu.SQL1.ExecQuery("SELECT * FROM Tbl WHERE id="&Menu.Fasl) cur.Position=0 Dim label1 As Label ScrollView1.Initialize(100%y) label1.Initialize("Label1") label1.text=cur.GetString("Matn") ChangeFontByLabelSize.FitToLabelSize(label1) ScrollView1.Panel.AddView(label1, 0, 0, 300dip, 600dip) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
jeqele 562 ارسال شده در 28 بهمن، 2014 مالک اشتراک گذاری ارسال شده در 28 بهمن، 2014 ببخشید اشتباه از من بود جای خط 6 و 7 رو عوض کن. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مهدی ایزدی 9,201 ارسال شده در 29 بهمن، 2014 اشتراک گذاری ارسال شده در 29 بهمن، 2014 با تشکر فراوان از امین Jeqele عزیز بخاطر این پست. به دلیل پر طرفدار بودن این موضوع ، پست مهم شد !!! *مکار* لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
jeqele 562 ارسال شده در 29 بهمن، 2014 مالک اشتراک گذاری ارسال شده در 29 بهمن، 2014 *قلب* ممنون مهدی جان( M.izadi )لطف داری. انگار یکم آموزشم ضعیف بود برای همین پست اول و دوم با ذکر مثال برای لیبل و لیست ویو به روز شد لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ali8968 11 ارسال شده در 12 اسفند، 2014 اشتراک گذاری ارسال شده در 12 اسفند، 2014 با سلام دوستان ببخشید من وقتی از این کد استفاده میکنم فقط برای بار اول درست کار میکه یعنی وقتی یه layout دیگه لود میشه این layout دیگه با این کد درست کار نمیکنه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 18 شهریور، 2015 اشتراک گذاری ارسال شده در 18 شهریور، 2015 مشکل از کد نویسی شما هست من در چندین لایوت و اکتویتی استفاده کردم و هیج مشکلی نداره فراموش نکنید حتما Label باید Initialize شده باشده لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 18 شهریور، 2015 اشتراک گذاری ارسال شده در 18 شهریور، 2015 ببینید این تاپیک کارتون رو راه میندازه ؟ http://answercenter.ir/topic/3739-auto-size-label-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B3%D8%A7%D8%AF%D9%87-%D9%88-%D8%B1%D8%A7%D8%AD%D8%AA/ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ghost 70 ارسال شده در 20 شهریور، 2015 اشتراک گذاری ارسال شده در 20 شهریور، 2015 سلام و تشکر برای پست خوبتون اما برای من یه مشکلی پیش اومده. توی قسمت If st.Length این ارور رو میده. B4A version 4.30 Parsing code. 0.12 Compiling code. Error .Error compiling program .(Error description: Syntax error (missing parameter Occurred on line: 51 if st.Length Word: length چیزی باید تو اون قسمت بنویسم؟ پیشاپیش مچکرم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 20 شهریور، 2015 اشتراک گذاری ارسال شده در 20 شهریور، 2015 سلام و تشکر برای پست خوبتون اما برای من یه مشکلی پیش اومده. توی قسمت If st.Length این ارور رو میده. B4A version 4.30 Parsing code. 0.12 Compiling code. Error .Error compiling program .(Error description: Syntax error (missing parameter Occurred on line: 51 if st.Length Word: length چیزی باید تو اون قسمت بنویسم؟ پیشاپیش مچکرم برادر من پست اول رو خوب مطالعه کنید دچار مشکل نشید شما نیاز به کتابخونه StringUtils دارید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ghost 70 ارسال شده در 21 شهریور، 2015 اشتراک گذاری ارسال شده در 21 شهریور، 2015 برادر من پست اول رو خوب مطالعه کنید دچار مشکل نشید شما نیاز به کتابخونه StringUtils دارید دوست گرامی،کتابخونشو دارم و فعال هم هست. به نظر من بعد از if باید یه شرطی چیزی بذاریم که من نمیدونم چه شرطی. یا به نظرم یه چیزی تو این مایه ها. به هر حال ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,054 ارسال شده در 21 شهریور، 2015 اشتراک گذاری ارسال شده در 21 شهریور، 2015 دوست گرامی،کتابخونشو دارم و فعال هم هست. به نظر من بعد از if باید یه شرطی چیزی بذاریم که من نمیدونم چه شرطی. یا به نظرم یه چیزی تو این مایه ها. به هر حال ممنون حرف Then رو ننوشتید،شرط باید اینجوری باشه: If st.Length<>0 then من اینجا <>0 رو برای مثال گذاشتم. ملا منظورم این بود که بعد از شرط حرف Then رو قرار بدید. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ghost 70 ارسال شده در 21 شهریور، 2015 اشتراک گذاری ارسال شده در 21 شهریور، 2015 ممنون آقای نیکروان.ولی بعد then باید یه شرطی باشه.اما من نمیدونم چه جور شرطی رو بذارم.بازم ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 21 شهریور، 2015 اشتراک گذاری ارسال شده در 21 شهریور، 2015 ممنون آقای نیکروان.ولی بعد then باید یه شرطی باشه.اما من نمیدونم چه جور شرطی رو بذارم.بازم ممنون الان مشکل شکا دقیقا کجاست ؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ghost 70 ارسال شده در 22 شهریور، 2015 اشتراک گذاری ارسال شده در 22 شهریور، 2015 ممنون که پرسیدید خب مشکل اصلی من اینه که جلوی If st.Length یاید چیزی نوشت یا یه کار دیگه؟ یه مشکل دیگه هم تو ماژولی که باز کردم دارم.البته بیشتر شبیه سواله تا مشکل. ماژول که باز میشه یه صفحه بارگذاری میکنه.کاری توش نباید بکنیم؟؟ اینم کل مشکل من لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسال های توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.