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

مشکل در Auto Size کردن


Assassin-Wolf

سوال

دوستان . من نمیتونم Label ام رو Auto Size کنم وقتی این کد ها رو اضافه میکنم

	Label1.Width = -2
	Label1.Height = -2

این مشکل در برنامه به وجود میاد

http://upir.ir/khordad94/guest/bandicam-2015-07-11-18-01-44-808.jpg

و وقتی به صورت Debug هست از این خط مشکل میگیره

	f = su.MeasureMultilineTextHeight(Label1,Label1.Text)

این هم سورس . اگه میشه کمک کنید . میخوام تا فردا برنامم درست شه

#Region  Activity Attributes 
	#FullScreen: True
	#IncludeTitle: False
#End Region
 
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
	Dim s As SQL
 
End Sub
 
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
	Dim ScrollView1 As ScrollView
	Dim ts As TextSetting
	Dim Ln As LNsetting
	Dim Da As ColorPickerDialog
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("InfoJK_Matlab")
	If File.Exists(File.DirInternal,"Joke-db.db") = False Then
	File.Copy(File.DirAssets,"Joke-db.db",File.DirInternal,"Joke-db.db")
	End If
	
	If s.IsInitialized=False Then
	s.Initialize(File.DirInternal,"Joke-db.db",False)
	End If

  	ScrollView1.Initialize(800dip)
	
	Dim cur1 As Cursor
	cur1 = s.ExecQuery("SELECT * FROM Mytable where id="&InfoJK.fasl)
	cur1.Position=0
	

	Activity.AddView(ScrollView1,0,0,100%x,100%y)
	
	Dim Label1 As Label
	Label1.Initialize("Label1")
	Label1.Text = cur1.GetString("matn")
	
	
	ScrollView1.Panel.AddView(Label1,10dip,0,95%x,ScrollView1.Height)
	
	ScrollView1.Color=Colors.ARGB(255,191, 85, 236)
	
	Dim su As StringUtils
	Dim f As Float
	'=====================================================
	Label1.Width = -2
	Label1.Height = -2
	'=====================================================
	
	f = su.MeasureMultilineTextHeight(Label1,Label1.Text)
 	Label1.Height = f
 	ScrollView1.Height=ScrollView1.Panel.Height
	ScrollView1.Panel.Height=f+80%y
	Try
 	Label1.TextColor = Ln.get("n","Color")
	Label1.TextSize = Ln.get("n","Size")
	Label1.Typeface = Typeface.LoadFromAssets(Ln.get("n","Font"))
	Catch
	End Try
End Sub
 
Sub Activity_Resume
 
End Sub
 
Sub Activity_Pause (UserClosed As Boolean)
 
End Sub
 
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

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

Sub Globals
	Dim int1 As Int
	Dim int2 As Int

End Sub
int1 = su.MeasureMultilineTextHeight(l,l.Text)
int2 = int1 + 2%y

l.Height = int2
ScrollView1.Panel.Height = int2
Fehrest.khandan = 0
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

int1 = su.MeasureMultilineTextHeight(Label1,Label1.Text)

میگیره

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

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

#Region  Activity Attributes 
	#FullScreen: True
	#IncludeTitle: False
#End Region
 
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
	Dim s As SQL
 
End Sub
 
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
	Dim ScrollView1 As ScrollView
	Dim ts As TextSetting
	Dim Ln As LNsetting
	Dim Da As ColorPickerDialog
	Dim su As StringUtils
Dim int1 As Int
dim int2 as Int
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("InfoJK_Matlab")
	If File.Exists(File.DirInternal,"Joke-db.db") = False Then
	File.Copy(File.DirAssets,"Joke-db.db",File.DirInternal,"Joke-db.db")
	End If
	
	If s.IsInitialized=False Then
	s.Initialize(File.DirInternal,"Joke-db.db",False)
	End If

  	ScrollView1.Initialize(800dip)
	
	Dim cur1 As Cursor
	cur1 = s.ExecQuery("SELECT * FROM Mytable where id="&InfoJK.fasl)
	cur1.Position=0
	

	Activity.AddView(ScrollView1,0,0,100%x,100%y)
	
	Dim Label1 As Label
	Label1.Initialize("Label1")
	Label1.Text = cur1.GetString("matn")
	
	
	
	ScrollView1.Color=Colors.ARGB(255,191, 85, 236)
	
ScrollView1.Panel.AddView(Label1,0,0,ScrollView1.Width,ScrollView1.Height)

int1 = su.MeasureMultilineTextHeight(l,l.Text)
int2 = int1 + 2%y

l.Height = int2
ScrollView1.Panel.Height = int2

	Try
 	Label1.TextColor = Ln.get("n","Color")
	Label1.TextSize = Ln.get("n","Size")
	Label1.Typeface = Typeface.LoadFromAssets(Ln.get("n","Font"))
	Catch
	End Try
End Sub
 
Sub Activity_Resume
 
End Sub
 
Sub Activity_Pause (UserClosed As Boolean)
 
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

شما باید یکم توی کد نویسی نظم رو رعایت کنید و بتونید مشکل رو حل کنید

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

 

یا حق

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

سلام 

مشکل شما با کتابخونه تکس ستیینگ (text seting)حل میشه کتابخونش تو انجمن هست 

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

خب چجوری؟ یک توضیحی میدید؟

آخه ريالبلا از اون استفاده میکردم برای بخش تنظیمات ولی برنامه به مشکل میخورد

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

شرمنده من متوجه سوالتون نشدم 

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

فک کنم گیجت کردم جوابت توی این  تاپیکه  پست 13 دقت کن 

تاپیک 

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

بایگانی شده

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

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

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