۱۳۹۵/۰۶/۳۱, ۱۰:۵۲ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۵/۰۶/۳۱, ۱۰:۵۶ ق.ظ توسط shimasariri.)
آموزش ساخت wallpaper والپیپر زنده در اندروید
فهرست محتوا1. توضیحی مختصر
· تصویر پس زمینه ی زنده (Live wallpaper) چیست ؟
· چگونگی ایجاد پوستر پویا
· استفاده از intent ها جهت انتخاب تصویر پس زمینه
2. مثالی از ایجاد و انتخاب پوستر ((wallpaper
1. توضیحی مختصر
تصویر پس زمینه ی زنده (Live wallpaper) چیست ؟
Live wallpaper در واقع تصاویر پس زمینه ی متحرک, پویا و تعاملی هستند که در صفحه ی اصلی / home screen سیستم عامل اندروید مورد استفاده قرار می گیرند. Live wallpaper مشابه بسیاری دیگر از برنامه های اندروید بوده و از همان قابلیت ها بهره می گیرد.
چگونگی ایجاد پوستر پویا
به منظور ایجاد یک تصویر پس زمینه ی زنده (live wallpaper), ابتدا لازم است یک فایل XML که تعریف کننده ی خصوصیات wallpaper است ایجاد کنید . این فایل دربردارنده ی توصیفی از برنامه ی کاربردی مورد نظر بوده و همچنین شامل یک پیش نمایش و لینک به preference activity می باشد که امکان تنظیم و سفارشی سازی پوستر پویا را برای شما فراهم می کند .
لازم است یک service ایجاد کنید که کلاس WallpaperService را بسط دهد (به ارث ببرد) . کلاس مذکور در حقیقت کلاس پایه برای همه ی پوسترهای سیستم محسوب می شود . برنامه نویس باید متد onCreateEngine() را پیاده سازی کرده و شئی از نوع android.service.wallpaper.WallpaperService.Engine بازگرداند . این شئ کلیه ی رخدادهای چرخه ی حیات (life-cycle event), متحرک سازی (animation) و ترسیمات (drawings) مربوط به پوستر را اداره می کند . کلاس Engine مجموعه ای از متدهای چرخه ی حیات از جمله onCreate(), onSurfaceCreated(), onVisibilityChanged(), onOffsetsChanged(), onTouchEvent() و onCommand() را تعریف می کند .
Service به مجوز android.permission.BIND_WALLPAPER نیاز داشته و باید به وسیله یintent-filter برای عملیات android.service.wallpaper.WallpaperService ثبت شود.
همچنین لازم است در فایل AndroidManifest.xml درج کنید که برنامه ی کاربردی شما از ویژه گی android.software.live_wallpaper بهره می گیرد . با انجام این کار, برنامه از نصب شدن روی دستگاه هایی که از قابلیت پوستر زنده پشتیبانی نمی کنند, امتناع می ورزد .
استفاده از intent ها جهت انتخاب تصویر پس زمینه
می توانید از intent به منظور انتخاب wallpaper استفاده کنید .
// Button to set the Wallpaper public void onClick(View view) {
Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
new ComponentName(this, MyWallpaperService.class));
startActivity(intent);
}
ادامه آموزش دراین لینک
لینک آموزش