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

بیسیک فور اندروید
901
0

سلام دوستان

 

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

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

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

[box type=”success” align=”alignright” class=”” width=””]اشک هایی که بعد از شکست می ریزیم همان عرق هایی است که برای پیروزی نریخته ایم[/box]

 

 

 

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

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

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

 

after

اگه به عکس کمی دقت کنید متوجه میشید که ادامه متن سوم نشان داده نشده

ولی خوب   حالا راه حل چیه ؟

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

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

 

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

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

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

 

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

 

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

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

 

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

 

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

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

 

 

 

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

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

کپی و رایت مطالب اوکسو :

قابل توجه علاقه مندان و کپی کنندگان گرامی ، تمامی مطالب این وب سایت تحت مجوز خالق (Creative Commons) می باشد و اجازه کپی کردن ، استفاده تجاری مطالب بدون اجازه صاحب اثر مجاز نمی باشد و طبق مجوز اثر پیگرد قانونی به همراه خواهد داشت.

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

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

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

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

اینستاگرام

تلگرام
آپارات

نظرات وب سایت

  1. برنامه نویس
    پاسخ دادن

    با سلام وخسته نباشید بنده از یک لیست ویو استفاده کردم و متن را از دیتا بیس درون آن میریزم.اگر بخواهم که مثل برنامه هایی مثل تلگرام که متن خلاصه شده را … میکند براساس عرض لطفا راهنمایی کنید.

    • مجید بابایی majid
      پاسخ دادن

      سلام دوست عزیز
      متاسفانه تا موقع کنکور نمیتونم به سوالات پاسخ بدم
      اما فکر کنم تابع SubString2 کارتون رو راه بندازه
      این کد میاد یه قسمت خاص از متن رو میگیره و جدا میکنه
      مثلا

      "۰۱۲۳۴۵".SubString2(2, 4)

      تو مثال بالا میاد از حرف شماره ۲ تا ۴ رو جدا میکنه
      شما هم میتونید از عنوان چند کلمش رو جدا کنید بقیش رو نقطه بزارید

  2. کارآموز
    پاسخ دادن

    سلام و خسته نباشید اگه دقت کرده باشین توی اکثر برنامه ها مثل تلگرام یک متن رو دریک خط نشون داده و بعد اون نقطه چین گذاشته و براساس عرض گوشی کار میکنه لطفا اگر ممکنه دراین مورد یک اموزش قرار دهید باتشکر.

  3. mrks
    پاسخ دادن

    مرسی از زحمتی که کشیدی خیلی خوب بود

    بنظرم جای یه مرجع واسه آموزش کتابخانه های بیسیک فور اندروید خالیه. ازونجا که کتابخونه ها خیلی کار راه اندازه، اگه هر مطلب رو مختصرا به آموزش یه کتابخونه کاربردی با دستوراتش بپردازی کار خیلی شیک و کارامدی میشه.

    • مجید بابایی majid
      پاسخ دادن

      خواهش میکنم .

      به زودی اموزش های کتابخانه ها نیز اضافه میشه . هر کتابخانه ای که به سایت اضافه بشه اموزشش هم به احتمال زیاد اضافه میشه

ارسال یک نظر .