بهینه سازی برنامه ها برای ChromeOS

برنامه های اندروید نقش مهمی در بازتعریف ظاهر محاسبات مدرن در صفحه نمایش های بزرگ دارند. اما فقط اجرای برنامه تلفن همراه خود در Chromebook بهترین تجربه را به کاربران شما نمی دهد.

این صفحه روش‌هایی را توضیح می‌دهد که می‌توانید تجربه خود را در رابطه با لپ‌تاپ و عوامل فرم تبدیل‌پذیر تنظیم کنید. برای کسب اطلاعات بیشتر در مورد آزمایش سازگاری برنامه خود در این دستگاه‌ها، فهرست جامع آزمایش‌های ما را ببینید.

از پشتیبانی چند پنجره ای آزاد استفاده کنید

اجرای برنامه‌های اندروید در ChromeOS شامل پشتیبانی اولیه چند پنجره‌ای است. Android به جای اینکه همیشه تمام صفحه را بگیرد، برنامه‌ها را در ChromeOS به قالب‌های پنجره‌ای آزاد تبدیل می‌کند که برای این دستگاه‌ها مناسب‌تر است.

کاربران می‌توانند اندازه پنجره حاوی برنامه Android شما را تغییر دهند، همانطور که در شکل 1 نشان داده شده است. برای اطمینان از اینکه پنجره‌های آزاد شما به آرامی تغییر اندازه می‌دهند و کل محتویات خود را برای کاربر نمایش می‌دهند، دستورالعمل‌های مدیریت پنجره را بخوانید.

شکل 1. یک پنجره برنامه قابل تغییر اندازه.

با پیروی از بهترین روش‌ها، می‌توانید تجربه کاربر را هنگامی که برنامه شما در ChromeOS اجرا می‌شود، بهبود بخشید:

  • چرخه عمر فعالیت را به درستی در حالت چند پنجره ای مدیریت کنید و مطمئن شوید که به به روز رسانی رابط کاربری ادامه می دهید، حتی زمانی که برنامه شما بالاترین پنجره متمرکز نیست.
  • اطمینان حاصل کنید که برنامه شما هر زمان که کاربر اندازه پنجره خود را تغییر می دهد، طرح خود را به درستی تنظیم می کند.
  • ابعاد اولیه پنجره برنامه را با تعیین اندازه راه اندازی آن سفارشی کنید.
  • توجه داشته باشید که جهت گیری فعالیت ریشه برنامه بر تمام پنجره های آن تأثیر می گذارد.

رنگ نوار بالایی را سفارشی کنید

ChromeOS از طرح زمینه برنامه برای رنگ‌آمیزی نوار بالایی نمایش داده شده در بالای برنامه استفاده می‌کند، که نشان می‌دهد زمانی که کاربران کنترل‌های پنجره و دکمه برگشت را نگه می‌دارند. برای اینکه برنامه‌تان برای ChromeOS شیک و سفارشی‌شده به نظر برسد، مقادیر colorPrimary و در صورت امکان colorPrimaryDark در طرح زمینه برنامه‌تان تعریف کنید.

colorPrimaryDark برای رنگ آمیزی نوار بالایی استفاده می شود. اگر فقط colorPrimary تعریف شده باشد، ChromeOS از نسخه تیره‌تر آن در نوار بالا استفاده می‌کند. برای اطلاعات بیشتر، به سبک‌ها و تم‌ها مراجعه کنید.

از صفحه کلید، پد لمسی و ماوس پشتیبانی کنید

همه کروم‌بوک‌ها دارای صفحه‌کلید فیزیکی و ترک‌پد هستند و برخی نیز صفحه‌نمایش لمسی دارند. برخی از دستگاه ها می توانند از لپ تاپ به تبلت تبدیل شوند.

در برنامه‌های خود برای ChromeOS، از ورودی ماوس، پد لمسی و صفحه‌کلید پشتیبانی کنید تا برنامه بدون صفحه لمسی قابل استفاده باشد. بسیاری از برنامه‌ها در حال حاضر از ماوس و ترک‌پد بدون نیاز به کار اضافی پشتیبانی می‌کنند. با این حال، بهتر است رفتار برنامه خود را به طور مناسب برای ماوس سفارشی کنید و بین ورودی های ماوس و لمسی پشتیبانی و تمایز قائل شوید.

اطمینان حاصل کنید که:

  • همه اهداف با ماوس قابل کلیک هستند.
  • همانطور که در شکل 2 نشان داده شده است، تمام سطوح قابل پیمایش لمسی روی رویدادهای چرخ ماوس حرکت می کنند.
  • حالت های شناور با قضاوت دقیق برای بهبود کشف رابط کاربری بدون غلبه بر کاربر، همانطور که در شکل 3 نشان داده شده است، پیاده سازی می شوند.

شکل 2. پیمایش با چرخ ماوس.

شکل 3. حالت های شناور دکمه.

در صورت لزوم، بین ورودی های ماوس و لمسی تفاوت قائل شوید. برای مثال، لمس و نگه‌داشتن یک مورد ممکن است یک رابط کاربری چند انتخابی را راه‌اندازی کند، در حالی که با کلیک راست روی همان مورد ممکن است یک منوی گزینه‌ها فعال شود.

نشانگرهای سفارشی

نشانگر ماوس برنامه‌های خود را سفارشی کنید تا مشخص کنید کاربر با چه عنصری از رابط کاربری خود و چگونه می‌تواند تعامل داشته باشد. با فراخوانی متد setPointerIcon() می توانید PointerIcon طوری تنظیم کنید که در هنگام تعامل کاربران با یک view استفاده شود.

در برنامه های خود، همه موارد زیر را نشان دهید:

  • نشانگرهای I-beam برای متن
  • دسته ها را در لبه های لایه قابل تغییر اندازه تغییر دهید
  • نشانگرهای دستی باز و بسته برای محتوایی که می‌توان آن را با حرکت کلیک و کشیدن حرکت داد یا کشید.
  • پردازش اسپینرها

کلاس PointerIcon ثابت هایی را ارائه می دهد که می توانید از آنها برای پیاده سازی مکان نماهای سفارشی استفاده کنید.

میانبرها و پیمایش صفحه کلید

از آنجایی که هر Chromebook یک صفحه‌کلید فیزیکی دارد، کلیدهای داغ را ارائه کنید تا به کاربرانتان اجازه دهید بهره‌وری بیشتری داشته باشند. به عنوان مثال، اگر برنامه شما از چاپ پشتیبانی می کند، می توانید از Control + P برای باز کردن گفتگوی چاپ استفاده کنید.

به طور مشابه، همه عناصر مهم رابط کاربری را با استفاده از پیمایش برگه مدیریت کنید. این به ویژه برای دسترسی مهم است. همانطور که در شکل های زیر نشان داده شده است، برای برآورده کردن استانداردهای دسترسی، همه سطوح رابط کاربری باید حالت های متمرکز واضح و مطابق با قابلیت دسترسی داشته باشند:

شکل 4. زبانه های عرضی.

شکل 5. جایگزین کردن یک ژست کشیدن انگشت با کنترلی که در شناور ظاهر می شود.

مطمئن شوید که گزینه‌های صفحه‌کلید یا ماوس را برای ویژگی‌های اصلی پنهان شده تحت فعل و انفعالات خاص لمسی، مانند کنش‌های لمس و نگه‌داشتن، تند کشیدن، یا سایر حرکات چند لمسی، اجرا کنید. یک مثال راه حل این است که دکمه هایی را ارائه دهید که روی یک سطح در حالت شناور ظاهر می شوند.

برای اطلاعات بیشتر در مورد پشتیبانی از صفحه کلید، پد لمسی و ماوس، به سازگاری ورودی در صفحه نمایش های بزرگ مراجعه کنید.

افزایش بیشتر ورودی کاربر

برای دستیابی به عملکرد درجه دسکتاپ برای برنامه خود، ورودی های بهره وری زیر را در نظر بگیرید.

منوهای زمینه

منوهای زمینه Android، که شتاب‌دهنده دیگری برای بردن کاربران به ویژگی‌های برنامه شما هستند، می‌توانند با کلیک ماوس یا دکمه ثانویه ترک‌پد یا از طریق لمس و نگه داشتن روی صفحه لمسی فعال شوند:

شکل 6. منوی زمینه که با کلیک راست ظاهر می شود.

بکشید و رها کنید

ایجاد تعاملات کشیدن و رها کردن، مانند شکل زیر، می‌تواند کارایی بهره‌وری کارآمد و بصری را به برنامه شما بیاورد. برای اطلاعات بیشتر، کشیدن و رها کردن را ببینید.

شکل 7. کشیدن و رها کردن در رابط درخت فایل.

پشتیبانی از قلم

پشتیبانی از قلم برای برنامه های طراحی و یادداشت برداری بسیار مهم است. با اجرای فعل و انفعالات متناسب با استفاده از ورودی قلم، پشتیبانی پیشرفته‌تری را برای کروم‌بوک‌ها و تبلت‌های مجهز به قلم ارائه دهید.

هنگام طراحی تعاملات قلم خود، به تغییرات احتمالی در سخت افزارهای مختلف قلم توجه کنید. برای مشاهده طرح کلی APIهای قلم، به سازگاری ورودی در صفحه‌های بزرگ مراجعه کنید.

طرح‌بندی‌های خود را واکنش‌گرا کنید

بدون در نظر گرفتن حالت بصری آن (تمام صفحه، عمودی، منظره یا پنجره‌دار) از املاک و مستغلات صفحه در دسترس برنامه خود به خوبی استفاده کنید. چند نمونه از استفاده خوب از فضا شامل موارد زیر است:

  • نمایش معماری اپلیکیشن
  • طول متن و اندازه تصویر را به حداکثر عرض محدود کنید.
  • از املاک و مستغلات در نوار ابزار برنامه بهتر استفاده کنید.
  • با تطبیق برنامه با استفاده از ماوس به جای استفاده از انگشت شست، قرارگیری امکانات رابط کاربری را بهبود بخشید.
  • اندازه فیلم ها و تصاویر را بهینه کنید، مجموعه ای از حداکثر عرض و ارتفاع را برای همه رسانه ها ایجاد کنید، و خوانایی و قابلیت اسکن را به حداکثر برسانید.
  • پیاده سازی یک سیستم ستونی پاسخگو برای اطلاعات بیشتر، شبکه طرح‌بندی پاسخگو را ببینید.
  • در صورت نیاز با استفاده از سیستم ستون، UI را تغییر اندازه و تغییر دهید. در صورت امکان از باز کردن پنجره های جدید خودداری کنید.
  • حذف یا کاهش اهمیت اجزای اسکرول افقی.
  • از رابط کاربری مدال تمام صفحه اجتناب کنید. از رابط کاربری درون خطی، مانند نشانگرهای پیشرفت و هشدارها، برای همه اقدامات غیر مهم استفاده کنید.
  • از اجزای رابط کاربری بهبودیافته مانند انتخابگرهای زمان و تاریخ، فیلدهای نوشتاری و منوهایی که برای ماوس، صفحه‌کلید و صفحه‌های بزرگ‌تر طراحی شده‌اند، استفاده کنید.
  • از ویرایش‌های درون خطی، ستون‌های اضافی یا رابط کاربری مدال به‌جای یک فعالیت جدید برای یک ویژگی ویرایش کوچک تا متوسط ​​استفاده کنید.
  • برای پیمایش بهتر صفحه کلید، دکمه های عمل شناور (FABs) را حذف یا تغییر دهید. به طور پیش فرض، موقعیت های FAB به ترتیب زبانه های عرضی باقی می مانند. در عوض، ابتدا آن را بسازید، زیرا عمل اولیه است، یا آن را با یک مقرون به صرفه سطح بالاتر جایگزین کنید.

شکل 8. یک طرح‌بندی واکنش‌گرا را روی صفحه‌نمایش اندازه تلفن و دسکتاپ تملک می‌کند.

دکمه بازگشت در سطح سیستم، الگویی است که از ریشه های دستی اندروید منتقل شده است - الگویی که به خوبی در زمینه دسکتاپ جا نمی شود.

همانطور که برنامه شما به طور فزاینده ای برای محیط لپ تاپ سفارشی می شود، به سمت یک الگوی ناوبری حرکت کنید که تاکید بر دکمه بازگشت را کمرنگ می کند. به برنامه اجازه دهید با ارائه دکمه‌های بازگشت درون برنامه، خرده‌های نان، یا سایر مسیرهای فرار مانند دکمه‌های بستن یا لغو به‌عنوان بخشی از رابط کاربری صفحه نمایش بزرگ، پشته تاریخ خود را مدیریت کند.

با تنظیم یک اولویت در تگ <activity> می توانید کنترل کنید که آیا برنامه شما دکمه بازگشت را در پنجره خود نمایش می دهد. تنظیم true دکمه بازگشت را پنهان می کند:

<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />

مشکلات مربوط به تصاویر پیش نمایش دوربین را حل کنید

هنگامی که برنامه فقط می تواند در جهت عمودی اجرا شود اما کاربر آن را روی یک صفحه افقی اجرا می کند، مشکلات دوربین ممکن است رخ دهد. در این حالت، پیش نمایش یا نتیجه گرفته شده ممکن است به اشتباه چرخانده شود.

حالت سازگاری نحوه مدیریت رویدادها، مانند تغییرات جهت، را در سیستم عامل Chrome تغییر می دهد. این به جلوگیری از بروز مشکلات در هنگام استفاده از دوربین در حالت جهت گیری اشتباه کمک می کند. برای فعال کردن حالت سازگاری، معیارهای زیر را رعایت کنید:

  • حداقل Android 7.0 (سطح API 24) را هدف قرار دهید. حداقل سطح SDK می تواند کمتر باشد.
  • برنامه خود را قابل تغییر اندازه کنید

تنظیمات دستگاه را مدیریت کنید

تنظیمات دستگاه زیر را برای برنامه‌های در حال اجرا در ChromeOS در نظر بگیرید.

تغییر صدا

دستگاه‌های ChromeOS دستگاه‌هایی با حجم ثابت هستند: برنامه‌هایی که صدا پخش می‌کنند، کنترل‌های میزان صدا خود را دارند. دستورالعمل‌های کار با دستگاه‌های با حجم ثابت را دنبال کنید.

تغییر روشنایی صفحه نمایش

نمی‌توانید روشنایی دستگاه را در ChromeOS تنظیم کنید. تماس با system settings و WindowManager.LayoutParams نادیده گرفته می شود.

مواد آموزشی اضافی

برای کسب اطلاعات بیشتر درباره بهینه‌سازی برنامه‌های Android خود برای دستگاه‌های Chromebook، به منابع زیر مراجعه کنید: