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

مشکل در ساخت اسلاید شو - فوری و مهم


pourya-man

سوال

سلام  لطفا اگه امکان داره سریع جواب بدین
من میخوام یه اسلاید شو درست کنم و از اون برای متحرک کردن تصویر زمینه برنامم استفاده کنم
اومدم یه امیج ویو گذاشتم و یه تایمر
تو ساب تایمر از حلقه استفاده کردم و یک متغییر تو حلقه گذاشتم
حالا هرکاری میکنم نمیتونم آدرس عکس رو از متغییر بگیرم
#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.

End Sub

Sub Globals
	Private ImageView1 As ImageView
	Dim t1 As Timer
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("main")
	t1.Initialize("t1",3000)
	t1.Enabled=True

End Sub

Sub t1_tick
	Dim bgn As String
	For i=0 To 3
		bgn=i+1
	Next
		ImageView1.SetBackgroundImage(LoadBitmap(File.DirAssets,bgn))
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

چه کنم ؟

 

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

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

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

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

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

Start activity(اسم اکتیویتی بعدیت)

Activity.finish

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

مشکل از دوتا جا بود

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

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	Dim t1 As Timer

End Sub

Sub Globals
	Private ImageView1 As ImageView
	Dim a As Int
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("main")
	t1.Initialize("t1",3000)
	t1.Enabled=True

End Sub

Sub t1_tick
a=a+1
ImageView1.SetBackgroundImage(LoadBitmap(File.DirAssets,a&".jpg"))
If a=3 Then a=0
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

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

 

سلام

پسوند تصاویرتون چیه ؟ 

png ؟ jpg ؟

i.SetBackgroundImage(LoadBitmap(File.DirAssets,i&"png"))

مشکل لود عکس از همون پسوند بود که حل کردم ولی الان عکس رو عوض نمیکنه

حلقه میاد میشمره میره شماره 4 و عکس شماره 4 رو یهویی لود میکنه و عکس 1 تا 3 رو جا میندازه

چطوری باید اینو حل کنم ؟

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

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

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

اصلا نیاز به حلقه فور هم ندارید!!!!!!!

الان شما یک عکس رو انتخاب کردید!!!یعنی بعد از سه ثانیه چه عکسی قراره بیاد؟

شما اول سه تا عکس یا هر چند تایی که میخواهید رو که من فرض میکنم سه تا باشه رو تو پوشه files برنامه اضافه کنید با نام های 1.png و 2.png و 3.png

حالا تو ساب t1_tick این کد ها رو اضافه کنید

dim a as string

a=a+1

ImageView1.Bitmap=LoadBitmap(File.DirAssets,a & ".png")

if a=3 then a=0

به همین رحتی!

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

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

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

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

اصلا نیاز به حلقه فور هم ندارید!!!!!!!

الان شما یک عکس رو انتخاب کردید!!!یعنی بعد از سه ثانیه چه عکسی قراره بیاد؟

شما اول سه تا عکس یا هر چند تایی که میخواهید رو که من فرض میکنم سه تا باشه رو تو پوشه files برنامه اضافه کنید با نام های 1.png و 2.png و 3.png

حالا تو ساب t1_tick این کد ها رو اضافه کنید

dim a as string

a=a+1

ImageView1.Bitmap=LoadBitmap(File.DirAssets,a & ".png")

if a=3 then a=0

به همین رحتی!

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

سلام ، ممنون ارور داد 

اینه لوگ

** Activity (main) Pause, UserClosed = false **
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
main_t1_tick (java line: 374)
java.lang.NumberFormatException: Invalid double: ""
	at java.lang.StringToReal.invalidReal(StringToReal.java:63)
	at java.lang.StringToReal.parseDouble(StringToReal.java:267)
	at java.lang.Double.parseDouble(Double.java:301)
	at b4a.example.main._t1_tick(main.java:374)
	at java.lang.reflect.Method.invoke(Native Method)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
	at anywheresoftware.b4a.objects.Timer$TickTack.run(Timer.java:105)
	at android.os.Handler.handleCallback(Handler.java:739)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:148)
	at android.app.ActivityThread.main(ActivityThread.java:5422)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
** Activity (main) Resume **

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

 

سلام ، ممنون ارور داد 

اینه لوگ

** Activity (main) Pause, UserClosed = false **
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
main_t1_tick (java line: 374)
java.lang.NumberFormatException: Invalid double: ""
	at java.lang.StringToReal.invalidReal(StringToReal.java:63)
	at java.lang.StringToReal.parseDouble(StringToReal.java:267)
	at java.lang.Double.parseDouble(Double.java:301)
	at b4a.example.main._t1_tick(main.java:374)
	at java.lang.reflect.Method.invoke(Native Method)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
	at anywheresoftware.b4a.objects.Timer$TickTack.run(Timer.java:105)
	at android.os.Handler.handleCallback(Handler.java:739)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:148)
	at android.app.ActivityThread.main(ActivityThread.java:5422)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
** Activity (main) Resume **

کد جدیدت ک ارور داده رو میشه بذاری ؟

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

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

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

Start activity(اسم اکتیویتی بعدیت)

Activity.finish

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

بایگانی شده

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

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

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