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

تنظیم فاصله بین عکس و متن


MR.B4A

سوال

سلام

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

من طبق آموزش که یکی از اعضای محترم گذاشتن، برای این بخش رفتم جلو

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

این دستورات منه

Sub show
	cur = sql1.ExecQuery("SELECT * FROM fasleaval1")
	Dim h As Int = 2%y
	For i = 0 To cur.RowCount - 1
		cur.Position = i
		If cur.GetString("meghdar") = "0" Then
			Dim lbl As Label
			lbl.Initialize("")
			lbl.Textcolor = Colors.Black
			lbl.Textsize = 16
			lbl.Text = cur.GetString("matn")
			lbl.Gravity=Gravity.RIGHT
			sc_text.Panel.AddView(lbl,sc_text.Left+3,h,sc_text.Width-6%x,100%y)
			Dim su As StringUtils
			lbl.Height = su.MeasureMultilineTextHeight(lbl,lbl.Text)
			h = h + lbl.Height + 2%y
			sc_text.panel.height = h
		else if cur.GetInt("meghdar") = 1 Then
			Dim image1 As ImageView
			image1.Initialize("")
			image1.Bitmap = pic(i,"matn")
			image1.Gravity = Gravity.FILL
			Dim be As BitmapExtended
			be.Initialize("")
			sc_text.panel.addview(image1,3%x,h,sc_text.Width-6%x, 30%y)
			h = h + be.getHeight(image1.Bitmap)/0.5
			sc_text.Panel.Height = h
		End If
	Next
End Sub

Sub pic (cur_pos As String , image As String) As Bitmap
	cur= sql1.ExecQuery("SELECT * FROM fasleaval1")
	cur.Position = cur_pos
	Dim Buffer() As Byte
	Buffer = cur.GetBlob(image)
	Dim InputStream1 As InputStream
	InputStream1.InitializeFromBytesArray(Buffer, 0, Buffer.Length)
	Dim bit1 As Bitmap
	bit1.Initialize2(InputStream1)
	InputStream1.Close
	Return bit1
End Sub

توی هرگوشی نسبت سایز عکس با متن ها فرق میکنه

ممنون میشم راهنماییم کنید که چی کار کنم اینطوری نشه

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

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

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

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

من چه جوری باید تاپ لیبل رو دستکاری کنم تا، دقیقا بیوفته زیر عکس قبلی؟!

ممنون میشم کمکم کنید

 

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

سلام.بهترین راه استفاده از ریسایکلرویو و همچنین لیوت xml هست. همه چی به صورت خودکار انجام میشه و کاملا استاندارد هست

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

من تا حدی تونستم مشکل رو برطرف کنم

اما هنوز کامل حل نشده.

ببینید، این کدهای جدید من برای لودکردن عکس و متن در برنامه هست:

Sub show
	cur = sql1.ExecQuery("SELECT * FROM fasledovom8")
	Dim h As Int = 2%y
	For i = 0 To cur.RowCount - 1
		cur.Position = i
		If cur.GetString("meghdar") = "0" Then
		
			lbl.Initialize("")
			lbl.Gravity=Gravity.RIGHT
			lbl.TextSize=14
			lbl.TextColor=Colors.Black
			lbl.Text=cur.GetString("matn")
			sc_text.Panel.AddView(lbl,2%x,h,96%x,20%y)
			h=h+lbl_Height+2%y
			sc_text.Panel.Height=h

		else if cur.GetInt("meghdar") = 1 Then


			Dim img1 As ImageView
			img1.Initialize("")
			img1.Gravity=Gravity.FILL
			sc_text.Panel.AddView(img1,10,h,96%x,30%y)
			img1.SetBackgroundImage(LoadBitmap(File.DirAssets,cur.GetString("matn")))
			h=h+32%y
			sc_text.Panel.Height=h
			
		End If
	Next
End Sub

Sub lbl_Height As Float        
	Dim before,after As Float
	Dim obj1 As Reflector
	Dim str As StringUtils
	lineheight =str.MeasureMultilineTextHeight(lbl,lbl.Text)
	obj1.Target = lbl

	before = obj1.RunMethod("getLineHeight")    
	obj1.Target = lbl
	obj1.RunMethod3("setLineSpacing", .10, "java.lang.float", 1.5, "java.lang.float")  
	obj1.Target = lbl
	after = obj1.RunMethod("getLineHeight") 
	lineheight = ((after * lineheight)/before)
	lbl.Height = lineheight
	Return  lineheight
End Sub

من روی شبیه ساز و گوشی گلکسی گرند پرایم پلاس اجرا کردم و برنامه صحیح اجرا شد

Screenshot_20191010_002014.png

اما روی یک گوشی دیگه تست کردن (گلکسی آ 2018) که اندازه گوشیش بزرگ تره، متن رو ناقص به من نمایش میده

IMG_20191010_WA0001.jpg

این مشکل واقعا منو کلافه کرده

چرا این مشکل پیش اومده و راح حل اون چیه؟!

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

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

البته اینو هم بگم که گوشی کلکسی آ2018 فونت تنظیماتش بزرگ تر از اون یکی گوشی هست. اما چرا متون را ناقص نشون میده؟!

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

بایگانی شده

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

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

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