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

نمایش دادن چند layout


zartosht

سوال

با درود

من چنتا لی اوت ساختم و میخوام در هنگام اجرای برنامه یکیش به صورت splash scr بیاد و بعدیش ک main هست باشه و وقت روی مثلا باتنی کلیک میشه یه لی اوت دیگه بیاد.

اینو توی کد اکتیویتی با دستور loadlayout گذاشتم ولی بقیه رو وقتی با startactivity میزارم اصلا عمل نمیکنه.. و اصلا نمیدونم برای لود و آنلود چیکار باید بکنم.

و چطور میشه به مشخصات لی اوت های فرعی دسترسی پیدا کرد؟ مثلا میخوام بکگراند لی اوت2  در کدنویسی تغییر کنه.. ؟؟؟

سپاسگذار میشم راهنمایی کنید..

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

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

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

اره میتونید امتحان کنید.

با سلام.. دوست عزیز من هر راهی که به این قضیه منتهی میشد رو امتحان کردم ولی متاسفانه نشد که نشد..

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

ولی همچنان اکتیویتی و لی اوت دوم رو روی اولی باز میکنه، اگر هم دومی رو در اکتیویتی خودش لود نکنم هشدار میاد ک لود نکردی..

 

درکل ممنون میشم بگید چطور چنتا لی اوت و اکتیویتی با ویوها و کدهای مخصوص خودشون رو میشه مثلا با زدن دکمه ای مخصوص خودشون لود و آنلود کرد..

سپاس

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

عنوان همه سوالاتونو سرچ کنید هست

برای اسپلش هم یه تصویز بزارید و با تایمر ویزیبلش رو غیرفعال کنید

روی باتون هم که کلیک میکنید بره فلان اکتیویتی اینجور بنویسید

startActivity(felan)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز اینکار رو کردم ولی موقع دیباگ گفت ک باید لی اوت مورد نظر لود بشه مثل load layout ولی اینطور 2تا لی اوت رو روی هم باز میکنه

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

شما وقتی کاربر رو ارجاع میدی به اکتیویتی مورد نظر,باید لایوت رو لود کنید دیگه

Activity.LoadLayout("Layout1")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

و یک سوال دیگه پرسیده بودم که "و چطور میشه به مشخصات لی اوت های فرعی دسترسی پیدا کرد؟ مثلا میخوام بکگراند لی اوت2  در کدنویسی تغییر کنه.. ؟؟؟"

ممنون

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

دوست من شما برای سوال اول باید

StartActivity(your activity)
activitiy.finish

و بعد تو اکتویتی که نوشتی بالا همون

your activity

باید لایوت لود کنی مثل

Actvity.Loadlayout("your layout")

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

Activity.color=colors.white 'black or blue and...

با تشکر پسندیدم فراموش نشه

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

دوست من شما برای سوال اول باید

StartActivity(your activity)
activitiy.finish

و بعد تو اکتویتی که نوشتی بالا همون

your activity

باید لایوت لود کنی مثل

Actvity.Loadlayout("your layout")

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

Activity.color=colors.white 'black or blue and...

با تشکر پسندیدم فراموش نشه

 

متاسفانه من همیشه تو توضیح دادن مشکل دارم و منظوو نرسوندم..

الان دو لی اوت به نام های lay1 , lay2 داریم. طبق گفته شما

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("lay1")
End Sub

Sub btnload_Click 
        Activity.LoadLayout("lay2")
End sub

Sub btnstart_Click 
        StartActivity("lay2")
        Activity.Finish
End sub

کدوم راه حل جواب میده؟

تو دومی آیا همون اکتیویتی 1 رو نمیبنده؟

درکل منظور من اینه که کلا برای مثلا بستن lay2 چه چیزی باید نوشته بشه؟ 

مثلا

lay2.finish

یا برای برنامه نویسی بخش lay 2 درکدام ماژول باید کدنویسی بشه اگر توی همون ماژول Activity بنویسیم و بخوایم برای پس زمینه هرکدام از لی اوت ها عکس های متفاوتی بزاریم باید چیکار کنیم؟

در مورد مورد آخر عاجزانه درخواست کمک دارم...

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

نگاه کن معمولا هر اکتیویتی یک لایوت براش تعریف میکنن(البته در کل اینگونه نیست.چون مبتدی هستی گفتم)

 

اکتیویتی main که پیشفرض هست توی ساب کریت میای لایوت مربوط به خودش رو لود میکنی اینجوری:

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout1")
End Sub

حالا توی اکتیویتی main میایی یک باتن درست میکنی و اکتیویتی دومی که حاوی لایوت 2 هست را فراخانی میکنی.اینجوری:

Sub Button1_Click
StartActivity(Activity2)
End Sub

وقتی روی باتن لمس کردی اکتیویتی دومی اجرا میشه.

حالا توی ساب کریت اکتیویتی دو لایوت 2 را فراخانی بکن.یعنی اینجوری:

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout2")
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

یادت نره remove all view رو هم داخل رویداد کلیک باتن بنویسی

این طوری میتونید داخل یک اکتیویتی چند لایوت بزارید

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

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

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

یادت نره remove all view رو هم داخل رویداد کلیک باتن بنویسی

این طوری میتونید داخل یک اکتیویتی چند لایوت بزارید

ممنون دوست عزیز ولی یه وقتایی نمیشه چنتا لی اوت رو داخل پنل و... لود کنی و کد های مخصوص به خودش هم زیاده و با کدهای اکتیویتی main باهم خیلی زیاد و قاطی میشن..

 

 

حل شد

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

btn.initialize("btn_Click")

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

متاسفانه من همیشه تو توضیح دادن مشکل دارم و منظوو نرسوندم..

الان دو لی اوت به نام های lay1 , lay2 داریم. طبق گفته شما

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("lay1")
End Sub

Sub btnload_Click 
        Activity.LoadLayout("lay2")
End sub

Sub btnstart_Click 
        StartActivity("lay2")
        Activity.Finish
End sub

کدوم راه حل جواب میده؟

تو دومی آیا همون اکتیویتی 1 رو نمیبنده؟

درکل منظور من اینه که کلا برای مثلا بستن lay2 چه چیزی باید نوشته بشه؟ 

مثلا

lay2.finish

یا برای برنامه نویسی بخش lay 2 درکدام ماژول باید کدنویسی بشه اگر توی همون ماژول Activity بنویسیم و بخوایم برای پس زمینه هرکدام از لی اوت ها عکس های متفاوتی بزاریم باید چیکار کنیم؟

در مورد مورد آخر عاجزانه درخواست کمک دارم...

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

 

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

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

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

 

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

]چرا شدنی هست اما باید مثلا ابجکت های دیه لی اوت قبلی رو پنهان کنه مثلا تو لی اوت اولی یدونه button داتشنه باشه باید بعد از لود لی اوت دومی بزنه button1.visable=false

در کل این روش پیشنهاد نمیشه بهتره شما هر چند تا لی اوتی که میخوای بسازی رو بساز و بعد برای هر کدوم یک اکتی ویتی بساز برای ساخت اکتی ویتی هم از سربرگ project>add new module>activity module رو انتخاب کنی

خب حالا اگه شما دوتا لی اوت با نام های l1 و l2  داشته باشین  تو ساب هر اکتیویتی مینویسی یکی از اون لی اوت هارو لود کنه

Sub Activity_Create(FirstTime As Boolean)

    Activity.LoadLayout("l1")

End Sub

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

startactivity(اسم اکتیویتی مورد نظر)

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

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

از پاسخ همه دوستان سپاسگذارم ولی بجز آقای شیردل که دقیقا به همون مورد که میخواستم اشاره کرد. بقیه دوستان همون بحث قبلی رو پیش گرفتن..

 

ولی در این مورد یعنی اگر من یک ماژول اکتیویتی دیگه بسازم و داخل اون اکتیویتی لی اوت مد نظر و اشیا رو تعریف کنم خودش تشخیص میده دیگه؟ که کدوم برای کدومه؟؟؟

بهتره شما هر چند تا لی اوتی که میخوای بسازی رو بساز و بعد برای هر کدوم یک اکتی ویتی بساز برای ساخت اکتی ویتی هم از سربرگ project>add new module>activity module رو انتخاب کنی خب حالا اگه شما دوتا لی اوت با نام های l1 و l2 داشته باشین تو ساب هر اکتیویتی مینویسی یکی از اون لی اوت هارو لود کنه Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("l1") End Sub و برای انتقال به اون اکتیویتی با دستور زیر عمل میکنید startactivity(اسم اکتیویتی مورد نظر) شما که میخوایی اسپلش بسازی این دستور رو تو تایمر بنویس مشکلی بود در خدمتم
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

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

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