رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

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


  • 0
batman123

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

سوال

batman123    0

کاربر عادی

سلام

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

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

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

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

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 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 0
batman123    0

کاربر عادی

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

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

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

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
محمدرضا شاهپیری    3,797

مدیر کل سایت

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

  • پسندیدن 1

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


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

کاربر عادی

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

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

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

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 فونت تنظیماتش بزرگ تر از اون یکی گوشی هست. اما چرا متون را ناقص نشون میده؟!

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...