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

ارور در ادد کردن ایتم در scrollview


amirsafari

سوال

سلام دوستان من میخوام یه imageview و یه label  رو ادد کنم توی یه scroollview ولی ارور زیر رو دارم 


 

scrollview1.Initialize(100%y)
	scrollview1.Panel.AddView(ImageView1,0,0,100%x,100%y)
	scrollview1.Panel.AddView(Label1,0,ImageView1.Height+2%y,100%x,100%y)

11111111111111111111111111111111111.png

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

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

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

سلام

ارورت میگه شما این ویوویی که اد میکنی، از قبل یه جا اد شده

چک کن که این دوتا ویو، جای دیگه ای اد نشده باشن

اگرم اد شدن، از removeView() استفاده کنید...

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

سلام

توجه داشته باشید، شما لیبل و اسکرول ویو رو تو دیزاینر ادد کردین

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

 

راه حل:

شما بعد از ()Activity.Loadlayout لیبل رو ()RemoveView بکنید درست میشه.

 

2.PNG.f0f3a5dfe4108188619ea099a5e6b7a6.PNG

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

در در 1395/08/16, 10:22:27، bakhtiaran گفته است :

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

درسته ، لطف کنید لینک فراخوانی و تکت ستینگ رو مرحمت بفرمایید.

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

در در 1395/08/11, 09:10:40، مهدی ایزدی گفته است :

ScrollView.Panel.Height رو مشخص کنید تا اسکرول بخوره

 

در در 1395/08/11, 11:22:27، مهدی صیدی عشقی گفته است :

با همین کد بالا که با قرمز مشخص شده اضافه میکنید و با ScrollView.Panel.Height ارتفاع داخلی اسکرول ویو رو مشخص میکنید

با استفاده از خاصیت MeasureMultilineTextHeight کتابخونه StringUtils اندازه ارتفاع متن لیبل رو بدست آوردم ولی نمیدونم مشکل از کجاست که تو اجرا یه مقداری از متن لیبل رو نصفه نشون میده یا همشو نشون نمیده
 

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("txt1")
    If File.Exists(File.DirInternal,"bank.db") = False Then
    File.Copy(File.DirAssets,"bank.db",File.DirInternal,"bank.db")
    End If
    sql2.Initialize(File.DirInternal,"bank.db",False)
    cur1 = sql2.ExecQuery("Select * From story")
    cur1.Position = ids
    Label2.Text=(cur1.GetString("caption"))
    Dim th As StringUtils
    body_lbl.Height=th.MeasureMultilineTextHeight(body_lbl,body_lbl.Text)                                              <------------ بدست آوردن ارتفاع
    body_lbl.RemoveView()
    ScrollView1.Panel.AddView(body_lbl,0,0,ScrollView1.Width,ScrollView1.Height)
    ScrollView1.Panel.Height=body_lbl.Height+120                                                                                      <------------ تنظیم ارتفاع اسکرول
    body_lbl.Text=(cur1.GetString("body"))
End Sub

نتیجه در شبیه ساز nox :

Untitled-1.jpg

 

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

در در 1394/11/08, 17:31:08، shahab.es گفته است :

ارورت میگه شما این ویوویی که اد میکنی، از قبل یه جا اد شده

چک کن که این دوتا ویو، جای دیگه ای اد نشده باشن

اگرم اد شدن، از removeView() استفاده کنید...

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

البته قبل ارسال این سوال من یه بار removeView() زدم و دیگه خطای child نبود ، و لیبل به اسکرول ویو اضافه می شد ولی اسکرول حرکت نمی کرد.

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

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

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

Dim s As ScrollView
s.Panel.LoadLayout("layout1")

استفاده کنید

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

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

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

Dim s As ScrollView
s.Panel.LoadLayout("layout1")

استفاده کنید

یعنی از addview نمیشه؟؟؟

با loadlayout خیلی میزون نمیشه

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

در هم اکنون، h.taatpour گفته است :

و همچنان منتظر پاسخ اساتید می مانیــــــم

سلام

سورس برنامه رو بفرست تا ببینم

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

در در 1395/08/04, 15:49:27، مهدی صیدی عشقی گفته است :

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

Capture.PNG

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

2.PNG

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

ببینید عزیز :

شما کلا بیا Label رو از توی Designer اضافه کن که اونجا داشته باشی !

بعدش :

	Activity.LoadLayout("txt1")
    If File.Exists(File.DirInternal,"bank.db") = False Then
    File.Copy(File.DirAssets,"bank.db",File.DirInternal,"bank.db")
    End If
    sql2.Initialize(File.DirInternal,"bank.db",False)
    cur1 = sql2.ExecQuery("Select * From story")
    cur1.Position = ids
    Label2.Text=(cur1.GetString("caption"))
	body_lbl.Text=(cur1.GetString("body"))
	Dim th As StringUtils
	Dim height As Int
	height = th.MeasureMultilineTextHeight(body_lbl,cur1.GetString("body"))
    body_lbl.Height= height
    ScrollView1.Panel.Height=height + 120dip

 

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

موفق باشی

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

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

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

سلام دوست من

من عکس پیوستی رو نمیتونم ببینم

ولی:

اگه شما اسکرول ویو رو از دیزاینر اضافه کردین، نیاز به اینیشیالایز نیست.

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

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

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

در 14 ساعت قبل، مهدی صیدی عشقی گفته است :

سلام

توجه داشته باشید، شما لیبل و اسکرول ویو رو تو دیزاینر ادد کردین

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

سلام ممنونم از پاسخ تون ، لیبل و اسکرول ویو رو از دیزاینر اضافه می کنم ،‌ولی از تو دیزاینر به هم ربط نمیدم ،‌چطوری باید لیبل رو به اسکرول ویو اضافه کنم ،‌از متد ریمو() هم استفاده کردم ،‌مشکل قبلی حل میشه ولی دیگه اسکرول ویو اسکرول به بالا پایین نمیشه

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

در 30 دقیقه قبل، h.taatpour گفته است :

ولی دیگه اسکرول ویو اسکرول به بالا پایین نمیشه

ScrollView.Panel.Height رو مشخص کنید تا اسکرول بخوره

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

در 17 ساعت قبل، مهدی صیدی عشقی گفته است :

2.PNG.f0f3a5dfe4108188619ea099a5e6b7a6.PNG

سلام

با همین کد بالا که با قرمز مشخص شده اضافه میکنید و با ScrollView.Panel.Height ارتفاع داخلی اسکرول ویو رو مشخص میکنید

اگه بازم نشد داخل دیزاینر از خصوصیات اسکرول ویو inner height رو تغییر بدی اسکرول هم انجام میشه

موفق باشی

همچنین برای تشکر نیاز به پست مجدد نیست پسندیدم رو بزنید و پست مورد نظر رو به عنوان بهترین پاسخ انتخاب کنید کافیه.

 

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

بایگانی شده

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

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

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