آموزش ساخت ویجت
با سلام خدمت تمام دوستان عزیز
امروز قصد داریم تا برای شما نحوه ساخت ویجت ساعت را آموزش بدیم...
این آموزش نیازمند کتابخانه AHLocale هستش.
خب حالا آموزش رو شروع می کنیم
در مرحله اول پس از باز کردن برنامه و ذخیره آن ما به اکتیویتی Main هیچ کاری نداریم
و از زیر منوی Project < AddNew Module < Service Module رو انتخاب می کنیم
مانند عکس پایین و در نهایت نام Service Module خود را Clockwidget که ما بطور پبش فرض اون رو گذاشتیم انتخاب می کنیم
و پس از انتخاب کردن مراحل بالا حالا باید برای ویجت خود یک Layout بسازیم که به قسمت Desiigner میرویم و از زیر منوی Add View یک Panel و یک Label که نام لیبل رو ما اینجا (Clock) قرار دادیم
ضمنا باید Label رو به Panel ارتباط دهیم و مانند نقاط زرد رنگ بکار ببرید و در نهایت نام
Layout خود را Clockwidget که ما بطور پبش فرض اون رو گذاشتیم انتخاب می کنیم
پس از ذخیره کردن Layout پنجره ها رو ببندید...
و حالا به صفحه کد نویسی و به اکتیویتی Clockwidget می روید
و در قسمت کتابخانه AHLocale را انتخاب کنید
و حالا در قسمت Sub Process_Globals باید مانند عکس زیرانجام بدیم و یک متغییر از نوع RemoteViews با نام widget می سازیم
خب حالا در قسمت Sub Service_Create باید مانند عکس پایین بنویسیم
در خط 11 می بینیم ما متغییر widget رو می خواهیم در قسمت widget های گوشی همرا فراخونی کنیم و widget را برابر ConfigureHomeWidget که کار نمایش ویجت رو بر عهده دار انجام میدیم و سپس لایئوت را فراخونی و سپس متغییر و سپس زمان تغییرات در ویجت و سپس نامی برای نمایش در قسمت ویجت ها برای اون انتخاب می کنیم .
حالا به قسمت Sub Service_Start می رویم
در خط 15 مشاهده می کنید که میگیم اگر ویجت ما استارت شد و یا وقتی پاک شد دوباره بازگشت داده بشه
و در خط 16 میگیم ویجت ما پس از پاک شدن نمایش داده نشه
و در خط 17 در مراحل بعد توضیح می دیم
و در خط 19 و 20 میگیم که اگر ویجت ما در صورت غیر فعال بودن به کار خود ادامه بده و در صورت انتخاب ویجت ساعت دقیق تنایش داده بشه
حال باید برای اون قسمتی که گفتیم بعدا توضیح می دی م یعنی widget_RequestUpdate توضیح بدیم
در خط 25 ما فرمت ساعت رو می نویسیم
در خط 26 ما لیبل رو به فرمت ساعت و ویجت نسبت می دیم
و در خط 27 ما ویجت رو آپدیت می کنیم منظور اینه که بطور خود کار تغغیرات ساعت دفیفا انجام بشه و نشون داده بشه
خب حالا در عکس پایین می گویم که در صورت غیر فعال بودن سرویس ویجت غیر فعال بشه
در عکس پایین هم برای نمایش دقیق ساعت در ویجت متغییر های تعریف می کنیم
دوستان فقط یک نکته رو یادتون باشه در اکتیویتی اول اگر خواستید پنجره ای یراتون نشون داده نشه مانند عکس پایین این کد را بنوبسید
و سپس برنامه رو دخیره و در گوشی خود نصب و در قسمت ویجت ها اون رو پیدا و با لمس و درگ کردن اون رو در صفحه اصلی بیارید تا برای شما نمایش داده بشه
دانلود سورس پروژه
با تشکر از تمام دوستان
لطفا نظر یادتون نره
منبع : b4airanamozesh
عالی بود
ممنونم