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

نوشته از پنل میزنه بیرون


amirbeigi

سوال

Untitled_1e01a.png

چرا نوشته ها از پنل میزنه بیرون ؟

اگه نوشته طولانی بزارم میزنه از پنل بیرون 

چیکار کنم نزنه بیرون ؟

(از Stringuntlsاستفاده کردم ... )

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

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

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

کدهایی که استفاده کردین قرار بدید ببینیم چیکار کردین!

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

دورد (به قول آقای ایزدی  :oops: )

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

هم کتاخونش هست هم مثالش تو انجمن 

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

کدهایی که استفاده کردین قرار بدید ببینیم چیکار کردین!

Sub Globals
	Dim SQL1 As SQL
	Dim cur1 As Cursor
	Private ScrollView1 As ScrollView
	Private copy As Button
	Private share As Button
	Private Panel1 As Panel
	Private Label1 As Label
	Dim text As String
	Dim ht As Float
	Dim StrUtil As StringUtils
	Dim PanelHeight As Int
	Dim myfont As Typeface
	Dim sh As AriaLib
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("sv1")


	File.copy(File.DirAssets,"tars.db",File.DirInternal,"tars.db")

	SQL1.Initialize(File.DirInternal,"tars.db",True)
	cur1 = SQL1.ExecQuery("SELECT * FROM tbl")
	
	myfont = Typeface.LoadFromAssets("BTraffic.ttf")
	
	For i=0 To cur1.RowCount-1
	cur1.Position=i
	text= cur1.GetString("SMS")
	
	ScrollView1.Panel.Color = Colors.Transparent
	
	Dim p1 As Panel
	p1.Initialize("")
	p1.LoadLayout("Dastan")
	ScrollView1.Panel.AddView(p1,0,PanelHeight,100%x,100dip)

	share.Tag = i
	copy.Tag = i

	ht=art(text,Label1,myfont,20)
	Label1.TextColor=Colors.White
	p1.Height=ht+70dip
	PanelHeight=PanelHeight+ht+70dip
	Next
	ScrollView1.Panel.Height=PanelHeight
End Sub
Sub art(txt As String,leb As Label,font As Typeface,size As Int) As Float      
Dim before,after As Float
	Dim Obj1 As Reflector
		leb.text=txt
		leb.TextSize=size
		leb.Gravity=Gravity.CENTER
		leb.Left=leb.Left
		leb.Typeface=font
	ht = StrUtil.MeasureMultilineTextHeight(leb , txt)
            Obj1.Target = leb  
            before = Obj1.RunMethod("getLineHeight")
            Obj1.Target = leb 
            Obj1.RunMethod3("setLineSpacing", .10, "java.lang.float", 1.5, "java.lang.float")
            Obj1.Target = leb 
            after = Obj1.RunMethod("getLineHeight")
            ht = ((after * ht)/before)
		leb.Height = ht
Return  ht

End Sub
Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub
Sub share_Click
	Dim cursor3 As Cursor
    cursor3 = SQL1.ExecQuery("SELECT SMS FROM tbl")
    Dim btn2 As Button
    btn2=Sender
    cursor3.Position =btn2.Tag
    Dim matnsms As Label
    matnsms.Initialize("")
    matnsms.text=cursor3.GetString("SMS")
    cursor3.Close
	StartActivity(sh.ShareText(matnsms.text,"اشتراک گذاری با :"))
End Sub

Sub copy_Click
	Dim something As BClipboard
	Dim cursor2 As Cursor
	cursor2 = SQL1.ExecQuery("SELECT SMS FROM tbl")
	Dim btn2 As Button
	btn2=Sender
	cursor2.Position =btn2.Tag
	something.clrText 
    something.settext(cursor2.GetString("SMS"))
	ToastMessageShow("متن در کلیپ بورد کپی شد",False)
	cursor2.Close
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

دوست عزیز کلا توی این پست دو تا قانون رو زیر پا گذاشتید :

1- عکس رو پیویست نکردید و یا روی سرور PicFile.com آپلود نکردید

2- کدتون رو هم توی Tag Code قرار ندادیه بودید که البته یک نفر از مدیران یا شاید خود شما بعدا این رو تصحیح کردید

 

امیدوارم زین بعد بیشتر به قوانین احترام بگذارید

موفق باشید

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

درود

دوست عزیز کلا توی این پست دو تا قانون رو زیر پا گذاشتید :

1- عکس رو پیویست نکردید و یا روی سرور PicFile.com آپلود نکردید

2- کدتون رو هم توی Tag Code قرار ندادیه بودید که البته یک نفر از مدیران یا شاید خود شما بعدا این رو تصحیح کردید

 

امیدوارم زین بعد بیشتر به قوانین احترام بگذارید

موفق باشید

پست اول ویرایش شد .

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

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

داداش من دقیق متوجه منظورتو نشدم

میشه توضیح بدی ؟

مثلا من توو کدای زیرهرکدوم ازآیتم های لیست ویو رو میزنم متن مربوط به اونو نمایش میده،همه کدهای مربوط به نمایش متنو تو کدای زیرنوشتم که لیبل 2 همون لیبلی که متنهامو نشون میده حالا تو توپنل نشون میدی به جاش پنل بذار:

Sub ListView1_ItemClick (Position As Int, Value As Object)
  nima = Value
Activity.LoadLayout("lay2")
ScrollView1.Panel.LoadLayout("m1")


'اسکرول 
Dim h As Int=su.MeasureMultilineTextHeight(Label2,Label2.text)
Label2.Height=h
ScrollView1.Panel.Height=h
'تمام 


    
If File.Exists(File.DirInternal,"sql1.db") = False Then
File.Copy(File.DirAssets,"sql1.db",File.DirInternal,"sql1.db")
End If
If sql2.IsInitialized = False Then
sql2.Initialize(File.DirInternal,"sql1.db",True)
End If
cur1= sql2.ExecQuery("Select * from tbltest  WHERE name='"&nima&"'")
For i = 0 To cur1.RowCount-1
cur1.Position= i
Label2.text=cur1.GetString("text")
Lab1.text=cur1.GetString("name")
Label2.Gravity=Gravity.CENTER
Label2.TextSize = 25
nima=0
Next
If File.Exists(File.DirInternal,"FontType.txt") = False Then
File.Copy(File.DirAssets,"FontType.txt",File.DirInternal,"FontType.txt")
End If
If File.Exists(File.DirInternal,"FontSize.txt") = False Then
File.Copy(File.DirAssets,"FontSize.txt",File.DirInternal,"FontSize.txt")
End If
If File.Exists(File.DirInternal,"lineheight.txt") = False Then
File.Copy(File.DirAssets,"lineheight.txt",File.DirInternal,"lineheight.txt")
End If
Lab1.Typeface = Typeface.LoadFromAssets(File.ReadString(File.DirInternal,"FontType.txt")&".TTF")
Label2.Typeface = Typeface.LoadFromAssets(File.ReadString(File.DirInternal,"FontType.txt")&".TTF")
Label2.TextSize = File.ReadString(File.DirInternal,"FontSize.txt")



'اسکرول
Dim h As Int=su.MeasureMultilineTextHeight(Label2,Label2.text)
Label2.Height=h
ScrollView1.Panel.Height=h
'تمام


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

آقا من وقتی این کد هارو میزارم توی اکتیویتی کریت  میزارم

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("sv1")
File.copy(File.DirAssets,"tars.db",File.DirInternal,"tars.db")
SQL1.Initialize(File.DirInternal,"tars.db",True)
cur1 = SQL1.ExecQuery("SELECT * FROM tbl")
myfont = Typeface.LoadFromAssets("BTraffic.ttf")
ScrollView1.Panel.LoadLayout("Dastan")
For i=0 To cur1.RowCount-1
cur1.Position=i
text= cur1.GetString("SMS")
share.Tag = i
copy.Tag = i
    Next
ScrollView1.Panel.Color = Colors.Transparent
ht=art(text,Label1,myfont,20)
Label1.TextColor=Colors.White
Panel1.Height=ht+70dip
PanelHeight=PanelHeight+ht+70dip
ScrollView1.Panel.Height=PanelHeight
End Sub

متن از پنل بیرون نمیزنه ولی فقط یه داستان از دیتابیس میخونه و میاره 

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

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

الان شما میخواین اون پنل به اندازه متن در بیاد یا اینکه متن اینقد کوچیک بشه که اندازه پنل بشه؟؟

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

 

مثلا من توو کدای زیرهرکدوم ازآیتم های لیست ویو رو میزنم متن مربوط به اونو نمایش میده،همه کدهای مربوط به نمایش متنو تو کدای زیرنوشتم که لیبل 2 همون لیبلی که متنهامو نشون میده حالا تو توپنل نشون میدی به جاش پنل بذار:

Sub ListView1_ItemClick (Position As Int, Value As Object)
  nima = Value
Activity.LoadLayout("lay2")
ScrollView1.Panel.LoadLayout("m1")


'اسکرول 
Dim h As Int=su.MeasureMultilineTextHeight(Label2,Label2.text)
Label2.Height=h
ScrollView1.Panel.Height=h
'تمام 


    
If File.Exists(File.DirInternal,"sql1.db") = False Then
File.Copy(File.DirAssets,"sql1.db",File.DirInternal,"sql1.db")
End If
If sql2.IsInitialized = False Then
sql2.Initialize(File.DirInternal,"sql1.db",True)
End If
cur1= sql2.ExecQuery("Select * from tbltest  WHERE name='"&nima&"'")
For i = 0 To cur1.RowCount-1
cur1.Position= i
Label2.text=cur1.GetString("text")
Lab1.text=cur1.GetString("name")
Label2.Gravity=Gravity.CENTER
Label2.TextSize = 25
nima=0
Next
If File.Exists(File.DirInternal,"FontType.txt") = False Then
File.Copy(File.DirAssets,"FontType.txt",File.DirInternal,"FontType.txt")
End If
If File.Exists(File.DirInternal,"FontSize.txt") = False Then
File.Copy(File.DirAssets,"FontSize.txt",File.DirInternal,"FontSize.txt")
End If
If File.Exists(File.DirInternal,"lineheight.txt") = False Then
File.Copy(File.DirAssets,"lineheight.txt",File.DirInternal,"lineheight.txt")
End If
Lab1.Typeface = Typeface.LoadFromAssets(File.ReadString(File.DirInternal,"FontType.txt")&".TTF")
Label2.Typeface = Typeface.LoadFromAssets(File.ReadString(File.DirInternal,"FontType.txt")&".TTF")
Label2.TextSize = File.ReadString(File.DirInternal,"FontSize.txt")



'اسکرول
Dim h As Int=su.MeasureMultilineTextHeight(Label2,Label2.text)
Label2.Height=h
ScrollView1.Panel.Height=h
'تمام


End Sub

داداش شما رو کدای من نگاه کن

منم همینکارو کردم !

ولی نمیدونم چرا نمیشه

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

باید اول لیبلتو تو اسکرول ویو تعریف کنی بعد متنتو بیاری تولیبل؛کدات مشکل اساسی داره

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

سلام

اونجایی که کدهای مربوط به متنت رو آوردی ابتدا وانتهای کدهات کدهای زیرو بنویس

Dim h As Int=su.MeasureMultilineTextHeight(Label2,Label2.text)
Label2.Height=h
ScrollView1.Panel.Height=h

Label2:همون لیبلی که متنتو نشون میده

 

سلام

اونجایی که کدهای مربوط به متنت رو آوردی ابتدا وانتهای کدهات کدهای زیرو بنویس

Dim h As Int=su.MeasureMultilineTextHeight(Label2,Label2.text)
Label2.Height=h
ScrollView1.Panel.Height=h

Label2:همون لیبلی که متنتو نشون میده

داداش من دقیق متوجه منظورتو نشدم

میشه توضیح بدی ؟

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

کسی نیست کمک کنه؟

 

الان شما میخواین اون پنل به اندازه متن در بیاد یا اینکه متن اینقد کوچیک بشه که اندازه پنل بشه؟؟

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

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

سلام

اونجایی که کدهای مربوط به متنت رو آوردی ابتدا وانتهای کدهات کدهای زیرو بنویس

Dim h As Int=su.MeasureMultilineTextHeight(Label2,Label2.text)
Label2.Height=h
ScrollView1.Panel.Height=h

Label2:همون لیبلی که متنتو نشون میده

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

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

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

source.rar

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

بایگانی شده

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

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

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