رفتن به مطلب
  • 0

auto size label بسیار ساده و راحت


حمید زارع

سوال

سلام

من دنبال این بودم که سایز لیبل متناسب با متن تغییر کنه

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

برای این کار فقط کافیه with یا height مثلا لیبل رو مساوی با 2- قرار بدید

Label1.with=-2

Label1.height=-2

با احترام

لینک ارسال
به اشتراک گذاری در سایت های دیگر

18 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام

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

و توی رویداد chang مربوط به ادیت تکست گفتم :

Edittext.height=-2

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

راهنمایی بفرمایید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام، شرمنده، من این سوال رو یه جای دیگه هم پرسیدم ولی کسی جواب نداد، ببخشید دوباره اینجا میپرسم، گفتم شاید جای قبلی مناسب نبوده

من وقتی از کد های بالا استفاده میکنم با اندازه لیبل مشکلی ندارم اما با جای لیبل مشکل دارم ، یعنی وقتی گوشی میچرخه یا توی یه گوشی با یه سایز دیگه نرم افزار رو ران میگیرم ، جای لیبل عوض میشه

من این کد رو دادم : label1.right=100%x بعد هم این کد: label1.width=-2 اما یه جا نمیمونه ! یه بار میاد وسط صفحه ! یه بار میره گوشه !

میشه راهنماییم کنید ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

ببخشید کد label1.height = -2 و label1.width = -2 متن رو با توجه به اندازه لیبل تغییر می ده یا اندازه لیبل رو با توجه به متن تغییر می ده؟

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

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

ببخشید کد label1.height = -2 و label1.width = -2 متن رو با توجه به اندازه لیبل تغییر می ده یا اندازه لیبل رو با توجه به متن تغییر می ده؟

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

ممنون

 

سلام

من دنبال این بودم که سایز لیبل متناسب با متن تغییر کنه

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

برای این کار فقط کافیه with یا height مثلا لیبل رو مساوی با 2- قرار بدید

Label1.with=-2

Label1.height=-2

با احترام

___________________________________

 

به دقت بخونید متن آقای زارع رو

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه روش دیگه هم هست که Height رو واسه یه یک Label یا هر View دیگه نسبت به یه متن حساب میکنه . با کتاب خانه StringUtils :


 




Dim matn As String = "Matne Morede Nazar"

Dim lb1 As Label

lb1.Initialize("label1")

Dim su As StringUtils

lb1.Height = su.MeasureMultilineTextHeight(lb1,matn)



 

Ashampoo_Snap_2015_06_28_00h18m51s_001_.

 

بعدش هم که میتونید از Height لیبل استفاده کنید . :D

لینک ارسال
به اشتراک گذاری در سایت های دیگر

واااای ، واقعا ممنونم  :doa: ، دقیقا یک هفته است که دارم کل اینترنت رو درمورد مشکلم میگردم . خیلی خیلی خیلی مرسی . حیف که نمیشه بیشتر از یک بار دکمه پسندیدم رو زد . :good2:

میشه اگه زحمتی نیست لطف کنید و کدش رو هم برام بذارید ؟  :blush:  :roomNemishe:  سپاسگذار میشم

 

اینم اضافه کنم که برنامه من کلا در حالتی اجرا میشه که گوشی landscape هست 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز چرا خودتو اذیت میکنی 

برای اینکه متنت تو کل گوشی ها ثابت باشه  از این  (برای لیست عناوین خیلی خوبه)

ثابت ماندن سایز متن در رزولویشن های مختلف

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

ماژول تایین اندازه فونت برای label برای سایز های مختلف اسکرین

 

استفاده کن 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آفرین خیلی خوبه اگه عمل کنه.

یعنی لیبل متناسب با متنش بزرگ یا کوچیک میشه؟؟

یا به قول گفتنی AutoSize میشه درسته؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز چرا خودتو اذیت میکنی 

برای اینکه متنت تو کل گوشی ها ثابت باشه  از این  (برای لیست عناوین خیلی خوبه)

ثابت ماندن سایز متن در رزولویشن های مختلف

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

ماژول تایین اندازه فونت برای label برای سایز های مختلف اسکرین

 

استفاده کن 

 

ممنونم ، اما من با اندازه متن مشکلی ندارم !  من با جای لیبل مشکل دارم ! گوشی که می چرخه یا سایز گوشی که عوض میشه ، جای لیبل من هم عوض میشه !!!  بعد من توی لایوتم 25 تا لیبل و ادیت تکست و باتن و ... دارم ، که همه قاطی پاتی میشن !!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنونم ، اما من با اندازه متن مشکلی ندارم !  من با جای لیبل مشکل دارم ! گوشی که می چرخه یا سایز گوشی که عوض میشه ، جای لیبل من هم عوض میشه !!!  بعد من توی لایوتم 25 تا لیبل و ادیت تکست و باتن و ... دارم ، که همه قاطی پاتی میشن !!!

پیشنهاد می کنم فقط از حالت عمودی (Portrait) استفاده کنید. ست کردن ویو های گوشی با هر دو حالت کار مشکلیه و به آموزش خاص نیاز داره.

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

If Portrait Then
	' اگر عمودی بود
Else If Landscape Then
	' اگر افقی بود
End If

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله به همین سادگی اتوسایز میشه

منم باور نمیکردم ...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فقط یه مساله اینکه اگر بعد از اون بخواهید از مقدار with و height استفاده کنید نمیشه

چون مقدارشون برابر با 2- هست

حالا برا اونم راهکار پیدا میگنم میزارم براتون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

dim ref as reflector

DoEvents
ref.Target=Label1
ref.RunMethod("getHeight")

ref.RunMethod("getWith")

لینک ارسال
به اشتراک گذاری در سایت های دیگر

هیچ کس نمی خواد کمکم کنه؟ 

مشکل من اینه که می خوام لیبل سمت راست صفحه قرار بگیره ولی مثل اینکه نرم افزار حرف نمیفهمه !!!  وقتی بهش این کد رو میدم:  label1.left=0 دقیقا درست عمل میکنه و میچسبونه به سمت چپ صفحه ولی من می خوام بچسبونه به راست!!!

لطفا  یکی راهنماییم کنه ! لطفا

لینک ارسال
به اشتراک گذاری در سایت های دیگر

هیچ کس نمی خواد کمکم کنه؟ 

مشکل من اینه که می خوام لیبل سمت راست صفحه قرار بگیره ولی مثل اینکه نرم افزار حرف نمیفهمه !!!  وقتی بهش این کد رو میدم:  label1.left=0 دقیقا درست عمل میکنه و میچسبونه به سمت چپ صفحه ولی من می خوام بچسبونه به راست!!!

لطفا  یکی راهنماییم کنه ! لطفا

Label1.Gravity=Gravity.RIGHT
لینک ارسال
به اشتراک گذاری در سایت های دیگر

پیشنهاد می کنم فقط از حالت عمودی (Portrait) استفاده کنید. ست کردن ویو های گوشی با هر دو حالت کار مشکلیه و به آموزش خاص نیاز داره.

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

If Portrait Then
	' اگر عمودی بود
Else If Landscape Then
	' اگر افقی بود
End If

موفق باشید

 

بسیار سپاسگذارم از راهنماییتون 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

Label1.Gravity=Gravity.RIGHT

من فک می کنم متوجه شدم مشکل شما از کجاست. وقتی که یک لیبل یا یک ادیت تکست توسط کدهایی که در بالا نوشته شده، سایزشون کاهش پیدا می کنه، به طور خودکار پارامتر Width شون کاهش پیدا می کنه ولی پارامتر Left اون ها ثابت می مونه. در واقع به طور کلی کاهش سایز باعث میشه که View به سمت چپ شیفت پیدا کنه. برای اینکه این اتفاق نیفته می تونید یک تابع بنویسید که فاصله یک View رو از سمت راست روی یک مقدار ثابت حفظ کنه. اگه نمی دونی چطوری بگو تا کدش رو برات بذارم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...