تنظیم ارتفاع Lable بر حسب طول متن با استفاده از کتابخانه StringUtils در B4a00 نظر

تنظیم ارتفاع Lable بر حسب طول متن با استفاده از کتابخانه StringUtils  در B4a

سلام دوستان

 

اگه دقت کرده باشید  وقتی یک متن رو به یه lable میدیم اگه متن با طولانی باشه Lable بیرون میزنه و اضافه متن نشان داده نمیشه

بزارید یه مثال دیگه بزنم

فرض کنید ما میخوایم جمله ی زیر رو به یک Lable بدیم

اشک هایی که بعد از شکست می ریزیم همان عرق هایی است که برای پیروزی نریخته ایم

 

 

 

فرض میکنیم تو جمله ی بالا هر کلمه ی ما ۱۰ سانتی از صفحه رو میگیره ( الکی مثلا ) و ما گفتیم که عرض Lable برابر با عرض گوشی باشه یا ۱۰۰%x

در این صورت اگه عرض یک گوشی  ۵۰ سانتی متر باشه  فقط ۵ تا از کلمه ها نشان داده میشه یا تو یه گوشی بزرگتر با عرض ۱۰۰ فقط ۱۰ تا نشان داده میشه

 

 

برای درست کردن این مشکل ما باید از  measure Text یا اندازه گیری ارتفاع متن  استفاده کنید

کاری که این تابع میکنه اینه میاد یک متن رو تا جایی که تو یه خط از Lable جا میشه مینویسه و بعد از اون اگه ادامه متن جا نشد میاد اونو به خط بعد انتقال میده مثلا جمله ی بالا رو به صورت زیر تغییر میده

 

اشک هایی که بعد از شکست می ریزیم

همان عرق هایی است که برای

پیروزی نریخته ایم

 

همچنین این تابع  مقدار ارتفاع متن رو بر میگردونه تا ارتفاع Lable رو بر حسب اون قرار بدید  مثلا اگه متن دو خط شد ارتفاع بشه ۲۰ اما اگه ۳ خط شد بشه ۳۰

 

خوب  بریم سراغ اموزش

ابتدا شما باید یه Lable ایجاد کنید  و متن دلخواه خودتون رو بهش بدید. همچنین باید باید اندازه متن رو هم تنظیم کنید چون در اندازه های متفاوت  نتیجه ی متفاوت میده

 

Dim Label1 As Label
Label1.Initialize("")
Label1.Text = "this is a long sentence, and we need to " _ 
  & "know the height required in order To show it completely."
Label1.TextSize = 20
Activity.AddView(Label1, 10dip, 10dip, 200dip, 30dip)

بعدش باید کتابخانه StringUtils رو فعال کنید و کد زیر رو به کد بالا اضافه کنید

 

 

Dim su As StringUtils
Label1.Height = su.MeasureMultilineTextHeight(Label1, Label1.Text)

 

 

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

کد نهایی : تمام کد ها

 

 

 

Dim Label1 As Label
Label1.Initialize("")
Label1.Text = "this is a long sentence, and we need to " _ 
  & "know the height required in order To show it completely."
Label1.TextSize = 20
Activity.AddView(Label1, 10dip, 10dip, 200dip, 30dip)
Dim su As StringUtils
Label1.Height = su.MeasureMultilineTextHeight(Label1, Label1.Text)

 

 

مطالب وب سایت Dev-Iran :

کپی و رایت مطلب به تیم Dev-Iran.ir باز میگردد که در حال حاضر صاحب امتیاز این وب سایت گروه اوکسو می باشد.



نسخه PDF این مطلب را دانلود کنید





حق نشر مطالب اوکسو :

 

 

قابل توجه علاقه مندان و کپی کنندگان گرامی ، تمامی مطالب این وب سایت تحت مجوز خالق

(Creative Commons)  می باشد و اجازه کپی کردن ، استفاده تجاری مطالب بدون اجازه

صاحب اثر مجاز نمی باشد و طبق مجوز اثر پیگرد قانونی به همراه خواهد داشت.

مجوز کریتیو کامنز
این کار مجوز دارد تحت مجوز کریتیو کامنز نسبت‌دادن-غیرتجاری-بدون انشقاق ۴٫۰ بین‌المللی.

این مطلب پایان یافت و امیدواریم به نتیجه دلخواهتان رسیده باشید . اگر به نتیجه

دلخواهتان هنوز دست نیافته اید , میتوانید برای رفع مشکل به تالار گفتمان اوکسوف

مراجعه کنید و سوال خود را مطرح کنید.

 

تالار گفتمان اوکسوف

 

 

همچنین میتوانید ما را در شبکه های اجتماعی نیز دنبال کنید و از جدید ترین اخبار ما با خبر شوید :

 

 

3491498_823


نظر شما

مطالب مرتبط

آموزش ساخت لیست با  دکمه ( button ) در B4a

آموزش ساخت لیست با دکمه ( button ) در B4a11 نظر

سلام

این آموزش رو به درخواست یکی از دوستان که تو بخش پرسش و پاسخ سوال ....


(لطفا به ادامه مطلب مراجعه فرمایید)
ادامه مطلب

آموزش B4A-Bridge :   راه جدید برای  اتصال به دستگاه شما

آموزش B4A-Bridge : راه جدید برای اتصال به دستگاه شما00 نظر

  چند راه برای تست برنامه ها در بیسیک۴اندروید وجود داره

ادامه مطلب