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

چگونگی تنظیم ارتفاع لیبل با اندازه متن مون


qasem

سوال

سلام دوستان اینکه ارتفاع لیبلی که قراره متنمون را نشون بده با اندازه متن مون یکی بشه چیکار باید کرد؟ یعنی من کتابی زدم که وقتی اندازه فونتش 18 باشه تمام متن را نشون میده اما وقتی که از توی تنظیمات سایز متن را بزرگ میکنم (سایز فونت بزرگتر میشه)اما دیگه تمام متن را نشون نمیده بلکه بخشی از آن را نشون میده ،چیکار کنیم که حتی بعد از بزگ کردن سایز متن باز هم تمام متن را نشون بده؟

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

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

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

کتابخانه StringUtils روتیک بزن

بعد اینجوری میتونی کاری که گفتیرو انجام بدی:

Dim l1 As Label
Dim mu As StringUtils
l1.Height=mu.MeasureMultilineTextHeight(l1,l1.Text)

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

ممنون

دوست عزیز زمانی که اندازه متنم مثلا 20 هست مشکلی نیست ولی زمانی که اندازه متنم زیاد میشه متن از صفحه بیرون میزنه و یا زمانی که کوچک میشه قسمتی از صفحه خالی می مونه

من از این روش استفاده کردم 

Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize") 


	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,size,ScrollMatn,2) 

چطور میتوانم اندازه متنم رو از درون فایل تکست فراخوانی کنم؟

آیا این روش درسته؟

 

شما بیا اون متغیرهای ts رو پاک کن بعدش بیا کتابخونه stringutils تیکشو بزن به جای کدهای بالا اینطوری بنویس ببین جواب میده... به احتمال 99 درصد باید جواب بده

Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize")
       label1.textsize = size
    
Dim int1 As Int
 int1 = 0
Dim su As StringUtils
label1.Height = su.MeasureMultilineTextHeight(label1,label1.Text)
 int1 = int1 + label1.Height + 3%y
 ScrollView1.Panel.Height = int1
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام عزیزای دل

مشکل الان ست کردن اسکرول ویو و لیبله؟

فراخوانی 3 رو بگیرید

Dim fara as farakhani
fara.setscroll(lbl,scrol1)

مشکل اگه این باشه حله :)

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

کتابخانه StringUtils روتیک بزن

بعد اینجوری میتونی کاری که گفتیرو انجام بدی:

Dim l1 As Label
Dim mu As StringUtils
l1.Height=mu.MeasureMultilineTextHeight(l1,l1.Text)

سلام , از این روش استفاده کردم ولی متنم اسکرول نمیشه:

	Dim su As StringUtils 
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	Label1.Height = su.MeasureMultilineTextHeight(Label1,Label1.Text)

من از این روش استفاده میکنم و درست کار میکنه ولی وقتی توی تنظیمات اندازه متن رو تغییر میدم ارتفاع لیبل خراب میشه:

	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,20,ScrollMatn,2)
اندازه فونتم رواز اسپینر میگیرم:	

Dim cmsize As Spinner
	cmsize.AddAll(Array As String ("17","20","23","26","29","32"))

در حافظه گوشی ذخیره می کنم:

Sub cmsize_ItemClick (Position As Int, Value As Object)
 	code.saveData("setting_cheshmzakhm.txt","FontSize",Value)
 	Label1.TextSize = code.getData("setting_cheshmzakhm.txt","FontSize") 
End Sub

از حافظه گوشی فراخوانی می کنم:

Sub Activity_Create(FirstTime As Boolean)
    Label1.TextSize = code.getData("setting_cheshmzakhm.txt","FontSize")
End Sub 

چطور باید اندازه متن انتخاب شده و جایگزین سایز در کد زیر کنم؟ (size

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

	Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize") 

	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,size,ScrollMatn,2)

لطفا اگر روش دیگه ای هست, راهنمایی کنید.ممنون

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

 

سلام , از این روش استفاده کردم ولی متنم اسکرول نمیشه:

	Dim su As StringUtils 
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	Label1.Height = su.MeasureMultilineTextHeight(Label1,Label1.Text)

اسکرول کردن داستانی جدا داره که میتونید با جستجو توی انجمن پیدا کنید

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

سلام عزیزای دل

مشکل الان ست کردن اسکرول ویو و لیبله؟

فراخوانی 3 رو بگیرید

Dim fara as farakhani
fara.setscroll(lbl,scrol1)

مشکل اگه این باشه حله :)

سلام , آقای اسکندری ممنون بابت کتابخونه خوبتون

من کتابم رو با کتابخانه فراخوانی 2 درست کردم و تقریبا تا 99 % کار پیش رفتم

و تنها مشکلم تغییر اندازه متنم در هنگام اسکرول هستش یعنی متنم درست در صفحه جا میشه ولی زمانی که در تنظیمات اندازه متنم تغییر میکنه , همه چیز به هم میریزه!

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

تنها مشکلم اینه که چطور سایز متنم که داخل فایل تکست ذخیره شده رو جایگزین سایز متنم در کتابخانه  TextSetting بکنم.

	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,size,ScrollMatn,2) 

ببینید در این خط اگربجای size عدد باشه (همون ابعاد متن هست) خروجی برنامه درسته و متنم در اسکرول جا میشه (هر چقدر که متنم طولانی باشه!)

ممشکل من زمانی است که اندازه متن تغییر میکنه.

 

زمانیکه از این روش استفاده میکنم:

Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize") 

	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,size,ScrollMatn,2) 

این خطا رو میده!؟

 

Snap_001.png

 

راستی از فراخوانی 3 هم استفاده کردم , همین مشکل رو داره!؟

ببخشید سرتون رو درد آوردم.

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

سلام , آقای اسکندری ممنون بابت کتابخونه خوبتون

من کتابم رو با کتابخانه فراخوانی 2 درست کردم و تقریبا تا 99 % کار پیش رفتم

و تنها مشکلم تغییر اندازه متنم در هنگام اسکرول هستش یعنی متنم درست در صفحه جا میشه ولی زمانی که در تنظیمات اندازه متنم تغییر میکنه , همه چیز به هم میریزه!

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

تنها مشکلم اینه که چطور سایز متنم که داخل فایل تکست ذخیره شده رو جایگزین سایز متنم در کتابخانه  TextSetting بکنم.

	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,size,ScrollMatn,2) 

ببینید در این خط اگربجای size عدد باشه (همون ابعاد متن هست) خروجی برنامه درسته و متنم در اسکرول جا میشه (هر چقدر که متنم طولانی باشه!)

ممشکل من زمانی است که اندازه متن تغییر میکنه.

 

زمانیکه از این روش استفاده میکنم:

Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize")
       label1.textsize = size
    
Dim int1 As Int
 int1 = 0
Dim su As StringUtils
label1.Height = su.MeasureMultilineTextHeight(label1,label1.Text)
 int1 = int1 + label1.Height + 3%y
 ScrollView1.Panel.Height = int1

این خطا رو میده!؟

 

Snap_001.png

 

راستی از فراخوانی 3 هم استفاده کردم , همین مشکل رو داره!؟

ببخشید سرتون رو درد آوردم.

برنامه رو در حالت Debug Legecy اجرا کنید ببینید دقیقا از کدوم خط خطا میگیره ؟

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

خب شما بیا ارتفاع لیبل رو اندازه مبگیر بعد اونو مساوی با ارتفاع اسکرول قرار میدی خیلی راحت این مدلی بنویس جواب میگیری... :ok: 

	Dim int1 As Int
	int1 = 0

	label1.Height = su.MeasureMultilineTextHeight(label1,label1.Text)
	int1 = int1 + label1.Height + 3%y
	ScrollView1.Panel.Height = int1
لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

 

اینو خودم نوشتم

 

راحترین و سریع ترین راهه

 

رمز :  basic4android.org

دوست عزیزهیچ کدی درون فایل پیوستی شما نیست.

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

دوست عزیزهیچ کدی درون فایل پیوستی شما نیست.

 

واقعا شرمنده

 

جایگزین شد

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

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

Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize") 

	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,size,ScrollMatn,2) 

از این کدها استفاده کن ببین چی میشه فقط تیک کتابخونه stringutils رو بزن...

Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize")
       label1.textsize = size
    
Dim int1 As Int
 int1 = 0
Dim su As StringUtils
label1.Height = su.MeasureMultilineTextHeight(label1,label1.Text)
 int1 = int1 + label1.Height + 3%y
 ScrollView1.Panel.Height = int1
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

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

از بخش  tools  > IDE Option > font picker  هم تغییر فونت دادمبازم مشکلم حل نشد 

اعداد توی امولاتور فارسی نشون داده نمیشه !!

از جنی موشن استفاده میکنم 

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

از کتاب خونه خاصی باید استفاده کنم ؟؟

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

سلام برادر

خواهش میکنم

مطمئن شو که توی متغیر size مقداری باشه

یعنی اگه مقداری نداشته باشه، مشکل افرین میشه و این ارور هم برای همینه به احتمال زیاد....

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

در 1 ساعت قبل، sbr گفته است :

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

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

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

از بخش  tools  > IDE Option > font picker  هم تغییر فونت دادمبازم مشکلم حل نشد 

اعداد توی امولاتور فارسی نشون داده نمیشه !!

از جنی موشن استفاده میکنم 

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

از کتاب خونه خاصی باید استفاده کنم ؟؟

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

اینجا آموزش ایجاد تاپیک رو دادیم :

 

 

این تاپیک قدیمی هستش

قفل میشه

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

سلام

 

اینو خودم نوشتم

 

راحترین و سریع ترین راهه

 

رمز :  basic4android.org

 

با عرض پوزش فایل جدید جایگزین شد

دوست عزیز ممنون بابت سورس

من متنم رو از دیتابیس میگرم و برای متنم تنظیمات زیادی دارم

html به کارم نمیاد.

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

 

خب شما بیا ارتفاع لیبل رو اندازه مبگیر بعد اونو مساوی با ارتفاع اسکرول قرار میدی خیلی راحت این مدلی بنویس جواب میگیری... :ok: 

	Dim int1 As Int
	int1 = 0

	label1.Height = su.MeasureMultilineTextHeight(label1,label1.Text)
	int1 = int1 + label1.Height + 3%y
	ScrollView1.Panel.Height = int1

ممنون

دوست عزیز زمانی که اندازه متنم مثلا 20 هست مشکلی نیست ولی زمانی که اندازه متنم زیاد میشه متن از صفحه بیرون میزنه و یا زمانی که کوچک میشه قسمتی از صفحه خالی می مونه

من از این روش استفاده کردم 

Dim size As Int
	size = code.getData("setting_cheshmzakhm.txt","FontSize") 

	Dim ts As TextSetting
	ts.Initialize()
	ScrollMatn.Panel.AddView(Label1,0+10dip,0,100%x-20dip,100%y)
	ts.LongText(Label1,Label1.Text,size,ScrollMatn,2) 

چطور میتوانم اندازه متنم رو از درون فایل تکست فراخوانی کنم؟

آیا این روش درسته؟

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

سلام

 

اینو خودم نوشتم

 

راحترین و سریع ترین راهه

 

رمز :  basic4android.org

 

با عرض پوزش فایل جدید جایگزین شد

BOOOK.rar

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

بایگانی شده

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

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

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