Tip:
Highlight text to annotate it
X
خلفيات شاشة الساعة المخصصة أصبحت أحد أكثر المزايا المنتظرة بشدة
من أجل Android Wear
مع الإصدار الأخير، أصبحت خلفيات شاشة الساعة مدعومة بشكل رسمي
أنا (هوي لام) من Google وهذه مقدمة لتطوير خلفيات شاشة الساعة
خلفية شاشة ساعتك هي خدمة تعمل في الخلفية
سأشرح لكم الخطوات الثلاث الرئيسية لصنع خلفيات شاشاتكم الخاصة
أولاً، سأشرح كيفية صنع مشروع خلفيتكم لشاشة الساعة
ثانياً، كيفية تخصيصه من أجل وضعَي التفاعل وعدم النشاط
وأخيراً واجهات برمجة تطبيقات APIs إضافية
لمساعدتك في صنع خلفية لشاشة الساعة صالحة للعمل في كل الظروف
إذاّ، كيف نبدأ؟
أسهل طريقة هي بفتح أحد نماذج خلفيات شاشة الساعة
الموجودة في هذا الدليل هناك خلفية شاشة رقمية وأخرى ذات عقارب
لتستطيع البدء
بداخل المشروع سوف ترى طريقتان مفتاحيتان يؤثران على الإعداد وتكرار العرض
في onCreate نقوم عادة بإعداد المتغيرات المثيلة
وهي ما تتضمن تحميل العناصر الرسومية أو تشغيل أدوات التلوين للرسم
على خلفية الشاشة أو مساحة الرسم
في onDraw نقوم بعرض كل إطار
سوف يظهر على خلفية شاشة الساعة وبما أننا نرسم على مساحة للرسم
فيمكننا استخدام الوظائف القياسية للرسوم أو رسم الأشكال
من المهم أن يظل الأداء في ذهننا بما أن هذا الكود سيعمل في كل إطار
بعد إنشاء المشروع، أنت الآن جاهز لتخصيص خلفية شاشة الساعة
للوضعين الرئيسيين، التفاعل وعدم النشاط
في الوضع التفاعلي، ستكون خلفية شاشة الساعة غالباً
بكامل الألوان وبرسوم متحركة سلسة
وهذا يكون عادة حين يولي المستخدم اهتمامه لساعته
في وضع عدم النشاط ينبغي أن تكون الرسوم
ذات مجموعة محدودة من الألوان ويتم تحديثها فقط مرة كل دقيقة
إذاً، ما هي بعض خيارات التخصيص الرئيسية المتاحة في هذين الوضعين؟
في الوضع التفاعلي، فإن القالب يتم تحديثه بشكل افتراضي مرة كل ثانية
لو كنت بحاجة للتحديث بشكل أسرع ربما لرغبتك في تشغيل رسوم متحركة
سوف تحتاج للقيام بثلاثة أشياء أولاً، تحتاج لإزالة UpdateTimeHandler
وإلا فإن طريقة onDraw يتم استدعاؤها فقط مرة كل ثانية
ثانياً، تحتاج لتفعيل طريقة onDraw في أول مرة تظهر فيها خلفية شاشة الساعة
يتم هذا عن طريق إبطال الإطار تحت طريقة onVisibilityChange
وأخيراً، تحتاج لإبطال إطار في نهاية طريقة onDraw
هذا سوف يشغل تكرار onDraw مما يسمح للرسوم أن تتحرك بسلاسة
الآن خلفيتك لشاشة الساعة سوف تقوم بالتحديث بشكل مستمر
من المهم أن تتأكد إن كانت خلفية شاشة الساعة في وضع عدم النشاط قبل إبطال الإطار
وإلا فإن تكرار التحديث سيظل يعمل باستمرار في الخلفية
حتى لو كانت في وضع عدم النشاط
وهذا سوف يؤثر بشكل كبير على عمر البطارية
بعد أن تعاملنا مع الوضع التفاعلي
حان الوقت لنتحدث عن وضع عدم النشاط
الإجرائين الشائعين اللذان يتخذهما المطورين في وضع عدم النشاط
هما، أولاً، اختيار الرسوم بتدرج الرمادي أو بالأبيض والأسود
وثانياً، إزالة عناصر الشاشة
التي يتم تحديثها أكثر من مرة كل دقيقة مثل عقرب الساعة
أو الأرقام التي تمثل الثواني
لمعرفة إذا ما كانت الساعة قد دخلت في وضع عدم النشاط
يمكنك تخطي ذلك في طريقة onAmbientModeChange
المطورين عادة سيرسلون المتغير المثيل
لتوضيح إذا ما كانت الساعة في وضع عدم النشاط
وإبطال الإطار الحالي، وهو ما سيشغل الـ redraw
وبعدها، عند onDraw التالية يستطيع المطور أن يقرر ما يريد فعله
بانتهائنا من التخصيص المبدئي حان الوقت الآن لبعض التلميع الإضافي
بالإضافة إلى وضع عدم النشاط
الـ APIs الخاصة بخلفية شاشة الساعة تمنح المطورين سياقات إضافية
للتأكد من أن خلفية شاشة الساعة صالحة للعمل في كل الظروف
أود إلقاء الضوء على اثنين منهما
أولاً، بعض أجهزة Android Wear تدعم وضع عدم النشاط قليل البتات
مما يعني أن الـ pixels على الشاشة إما في وضع التشغيل أو الإغلاق
واستخدام تصميم بدرجات الرمادي عادةً لن يعمل على هذه الشاشات
على سبيل المثال، لو لم نغير أي شيء في التصميم بدرجات الرمادي
الذي لدينا لـ Santa Tracker
فهذا ما سيبدو عليه في الشاشات قليلة البتات
كما ترون، فهو ليس جميل للغاية
ولهذا نفذنا هذا التصميم البديل بالأبيض والأسود
لتحديد ما إذا كان الجهاز يدعم البتات القليلة
تخطى طريقة onPropertiesChange
والمطورون بإمكانهم قراءة ما إذا كانت الساعة تدعم وضع عدم النشاط قليل البتات
ثانياً، وهذا هو المفضل لي شخصياً وهو القدرة على اكتشاف
لو كان هناك بطاقات نظرة خاطفة على الشاشة
هذا يسمح لك بالتأكد من أنها لن تتفاعل بشكل سيء
مع تصميمك لخلفية شاشة الساعة
وهو مهم بشكل خاص في وضع عدم النشاط بدونه فكما ترون على اليسار
فإن علامات الوقت ستتداخل مع بطاقة النظرة الخاطفة مما يصعب القراءة
في تصميمنا الأخير، نرسم مستطيل أسود
بدون حدود خلف بطاقة النظرة الخاطفة لجعلها أكثر وضوحاً
بالإضافة إلى هذا، فإنه باستخدام فئة نمط خلفية شاشة الساعة
يستطيع المطورون تحديد ما إذا كانت بطاقة النظرة الخاطفة
ظاهرة في وضع عدم النشاط
وما إذا كانت شفافة أم غير شفافة في الوضع التفاعلي
الرجاء مراجعة الوثائق للعديد من الوظائف الأخرى
بما في ذلك كيفية متابعة تغيرات المناطق الزمنية
وإظهار بيانات مباشرة على خلفيات شاشة الساعة
وتغيير إعدادات خلفية شاشة الساعة من جهاز الهاتف
أنا (هوي لام) وأتطلع لمعرفة الوقت من خلفيتكم لشاشة الساعة