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

راهنمایی تنظیم گیف برای والپیپر


milad4047

سوال

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

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

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

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

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

#Region Module Attributes
	#StartAtBoot: False
#End Region
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Sub Process_Globals
	Dim lwm As LWManager
	Dim LiveEngine As LWEngine
	Dim image As Bitmap
	Dim Frame As Int
	Dim imgs As List
End Sub
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@	
Sub Service_Create
	lwm.Initialize("lwm", True)
	
	Dim gif As GifDecoder
	gif.DisposeFrames
	gif.Load(File.DirAssets, "bg.gif")
	Frame = 0
	imgs.Initialize
	For i=0 To gif.FrameCount -1
		imgs.Add( gif.Frame(i))
	Next
	
	image = imgs.Get(0)
	lwm.StartTicking(gif.Delay(Frame))		
End Sub
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Sub Service_Start (StartingIntent As Intent)
End Sub
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Sub Service_Destroy

End Sub

Sub ImageChanged
	If LiveEngine.IsInitialized Then LWM_OffsetChanged(LiveEngine)
End Sub

Sub LWM_SizeChanged (Engine As LWEngine)
	'This event is raised when the engine is first ready (and when the screen size changes).
	'We need to hold a reference to the non-preview engine to allow us to later change the
	'image.
	If Engine.IsPreview = False Then LiveEngine = Engine
End Sub

Sub LWM_OffsetChanged (Engine As LWEngine)
	If image.IsInitialized Then
		Engine.Rect.Left =0' -Engine.CurrentOffsetX
		Engine.Rect.Top =0' -Engine.CurrentOffsetY
		Engine.Rect.Right = Engine.ScreenWidth'.FullWallpaperWidth
		Engine.Rect.Bottom = Engine.ScreenHeight'.FullWallpaperHeight
		Engine.Canvas.DrawBitmap(image, Null, Engine.Rect)
'   Engine.Canvas.DrawText(DateTime.Time(DateTime.Now), _
'      100dip, 100dip, Typeface.DEFAULT_BOLD, 40, Colors.White, "LEFT")

	Else
		Engine.Canvas.DrawColor(Colors.Black)
		Engine.Canvas.DrawText("No image selected", 120dip, 120dip, Typeface.DEFAULT_BOLD, 30, Colors.White, "LEFT")
	End If
	Engine.RefreshAll
End Sub
Sub lwm_Tick (Engine As LWEngine)
	Frame = Frame + 1
	If Frame >= imgs.Size Then
		Frame = 0
	End If
	image =imgs.Get(Frame)
	 LWM_OffsetChanged(Engine)	
End Sub
Sub lwm_Touch (Engine As LWEngine, Action As Int, tx As Float, ty As Float)
	If Action <> 0 Then Return '0 is the value of Activity.ACTION_DOWN
	'Draw the red circle
	Engine.Rect.Left = tx - 7dip
	Engine.Rect.Top = ty - 7dip
	Engine.Rect.Right = tx + 7dip
	Engine.Rect.Bottom = ty + 7dip
	Engine.Refresh(Engine.Rect)
End Sub

توی خط زیر

gif.Load(File.DirAssets, "bg.gif")

به جای bg.gif اسم فایل خودتو بزار و به پروژه اضافه کن.

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

بایگانی شده

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

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

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