از رابط کاربری مقیاسپذیر برای ساخت تجربیات کاربری پیچیده، پویا و چند پنلی در خودروها استفاده کنید. رابط کاربری مقیاسپذیر:
یک سیستم پنجرهبندی انعطافپذیر ارائه میدهد.
ریسکها، هزینهها و پیچیدگیهای مهندسی ارائه شده توسط مجموعه تست سازگاری (CTS) برای پیادهسازی رابط کاربری را به حداقل میرساند.
رابط کاربری مقیاسپذیر، طیف گستردهای از طراحیهای مدرن سیستم اطلاعات سرگرمی درون خودرو (IVI) را که نیاز به چیدمان پویای پنجرهها دارند، پشتیبانی میکند.
اندروید ۱۷ ویژگیهای زیر را که مختص پنجرهبندی پیشرفته هستند، معرفی میکند:
- پنلهای اعلانهای هشداردهنده را پیادهسازی کنید
- سفارشیسازی نوارهای سیستم
- حداکثر کردن انطباق تست با متغیرهای WindowManager
- ادغام ویزارد راهاندازی
نمونه تجربیات
رابط کاربری مقیاسپذیر، طیف نامحدودی از پیکربندیهای پنجرهبندی را امکانپذیر میکند. در اینجا چند سناریوی نمونه برای تمرین رابط کاربری مقیاسپذیر ایجاد شده است:
پسزمینه نقشه با برنامههای شناور
پیکربندی پسزمینه نقشه با برنامههای دیگر که روی آن شناور هستند.
پسزمینه برنامه
پیکربندی پسزمینه برنامه با پنلهای شناور.
برنامه پین شده زیر برنامههای دیگر
یک برنامه پینشده، مانند یک ویجت، که برنامههای دیگر روی آن اجرا میشوند.
پنل شناور شرطی
یک پنل شناور شرطی که فقط در صورت برآورده شدن شرایط خاص، مانند پخش رسانه یا فعال شدن یک هشدار، ظاهر میشود.
برنامه پین شده نزدیک به راننده
یک برنامه پین شده که نزدیکتر به راننده قرار گرفته است.
طرح بندی صفحه نمایش تقسیم شده
یک طرحبندی تقسیم صفحه که دو برنامه را در کنار هم نمایش میدهد.
صفحه نمایش تقسیم شده تعاملی
یک طرحبندی تعاملی با قابلیت تقسیم صفحه که امکان تغییر اندازه پویا را فراهم میکند.
طرحبندی چندلنگه برای صفحات نمایش بزرگ
یک طرح چند لنگری که برای صفحه نمایشهای بزرگ طراحی شده است.
چرخ فلک برنامه صفحه اصلی
طرحبندی صفحه اصلی با یک چرخ و فلک برنامه.
مزایا و انطباق
مزایای رابط کاربری مقیاسپذیر عبارتند از:
ریسک تست پایینتر: این چارچوب از قبل تایید شده و با CTS سازگار است، که ریسک اصلی شکست تست در اواخر چرخه برنامه را از بین میبرد. رابط کاربری مقیاسپذیر میتواند ماهها تلاش مهندسی را صرفهجویی کرده و انطباق را تسریع کند.
انعطافپذیری بیشتر در طراحی: قابلیت اثباتشده برای بازسازی مدلهای پیچیده متعدد پنجرههای خودرو موجود. رابط کاربری مقیاسپذیر از طرحهای بلندپروازانه و بسیار متمایز پشتیبانی میکند.
پیچیدگی پیادهسازی کمتر: انتزاع به یک مدل XML سطح بالا و مبتنی بر پیکربندی، مانع ورود به منطق پنجرهبندی سفارشی را کاهش میدهد.
عملکرد بهتر: رابط کاربری مقیاسپذیر بر پایه پنجرهبندی با عملکرد بالا اجرا میشود و کاملاً با اندروید استاندارد یکپارچه شده است. انتقالها به نرمی جریان مییابند و امکان بهینهسازی مستقیم را فراهم میکنند.
بلوکهای سازندهی هسته
رابط کاربری مقیاسپذیر، نیاز به کد مخصوص تولیدکننده اصلی (OEM) را به حداقل میرساند، بهروزرسانی را آسان میکند و با حذف مشکلات و کاهش مشکلات صدور گواهینامه، خطرات راهاندازی را کاهش میدهد.
رویکرد مبتنی بر XML، چالشهای رایج هنگام مدیریت سیستمهای پنجرهبندی پیچیده در سیستمعامل اندروید اتوموتیو (AAOS)، مانند موقعیتیابی دقیق، تداخلهای Z-order و تمرکز برنامه را برطرف میکند.
رابط کاربری مقیاسپذیر این بلوکهای سازندهی اصلی را فراهم میکند.
پنل
یک پنل ، محفظه مستطیلی شکل اساسی روی صفحه نمایش است. هر پنل به یک وظیفه ریشه اختصاصی برای مدیریت مستقل نگاشت میشود. یک پنل میتواند میزبان وظایف برنامه ( TaskPanel ) یا محتوای مبتنی بر نمایش، مانند ابزارکها ( DecorPanel ) باشد. برای کسب اطلاعات بیشتر، به پیکربندی یک پنل مراجعه کنید.
متغیر
یک متغیر ، حالت بصری خاصی را برای یک پنل تعریف میکند و شامل ویژگیهایی مانند bounds (موقعیت و اندازه)، visibility ، layer (Z-order) و شعاع corner است. یک پنل واحد میتواند انواع مختلفی مانند opened ، closed یا minimized داشته باشد. برای کسب اطلاعات بیشتر، به بخش «استفاده از یک متغیر برای طراحی حالت بصری » مراجعه کنید.
گذار
یک گذار (transition) نحوهی انتقال یک پنل از حالت فعلیاش fromVariant به حالت جدید toVariant را تعریف میکند. یک Event گذار را فعال میکند که انیمیشنی را که پنل در طول تغییر حالت استفاده میکند، تعریف میکند. یک پنل باید از حالت فعلیاش به toVariant منتقل شود. برای همگامسازی، Window Manager اصلی تمام گذارها را متحرکسازی و هماهنگ میکند.
- رویداد: یک تریگر برای شروع تغییر رابط کاربری. یک تولیدکننده اصلی (OEM) یا سیستم میتواند یک تریگر را از پیش تعریف کند. برای مثال،
_System_OnHomeEvent،_System_TaskOpenEventیا فشردن یک دکمه ناوبری سفارشی.
برای مثال، رابط کاربری مقیاسپذیر از رویدادها برای ایجاد گذارها استفاده میکند. این گذارها یک پنل را از یک نوع به نوع دیگر متحرک میکنند تا تغییرات پویا را در رابط کاربری نمایش دهند. رابط کاربری مقیاسپذیر این تغییرات را به سایر برنامههای سیستمی منتقل میکند تا محتوا را در صورت نیاز تنظیم کنند. با تعریف روابط رابط کاربری در XML، میتوانید:
رفتارهای پیچیده رابط کاربری را مشخص کنید: تعاملات پیچیده رابط کاربری را تعریف کنید.
سیستمهای پنجرهبندی را مرتب کنید: موقعیت و لایهبندی پنجرهها را کنترل کنید.
پیادهسازی تمهای بصری: از برندسازی و زیباییشناسی منسجم استفاده کنید.
کاهش پیچیدگی کد: نیاز به توسعه گسترده کدهای سفارشی را به حداقل میرساند.
برای کسب اطلاعات بیشتر، به پیکربندی یک انتقال مراجعه کنید.
دکمههای رابط کاربری سیستم
علاوه بر فعال کردن اینتنتها، CarSystemBarButtons میتواند با استفاده از ویژگیهای event ، selectedEvent و unselectedEvent ، یک رویداد Scalable UI را فعال کند.
event رویدادی را توصیف میکند که هنگام ضربه زدن به دکمه فعال میشود. اگر کنترل جزئیتری بر روی یک رویداد مورد نیاز است، از ویژگیهای selectedEvent و unselectedEvent برای مشخص کردن رویدادی که هنگام انتخاب یا عدم انتخاب دکمه فعال میشود، استفاده کنید.
چه زمانی رابط کاربری سیستم را پیادهسازی کنیم؟
این بخش، کاربردهای بهینهی رابط کاربری مقیاسپذیر را شرح میدهد.
- ایجاد طرحبندیهای چند پنلی پایدار
- یک صحنه خانگی پویا پیادهسازی کنید
- اعمال پوششهای زمینهای
- طراحی تعاملات پیچیده پنل
ایجاد طرحبندیهای چند پنلی پایدار
یک تجربه چند منطقهای ایجاد کنید که در آن قسمتهای مختلف صفحه نمایش به طور دائم به عملکردهای خاص اختصاص داده شوند. به عنوان مثال، کنترلهای رسانهای اختصاصی، نوار آب و هوا یا یک نقشه تمام صفحه.
TaskPanels برای برنامههای اصلی (مانند ناوبری) و DecorPanels برای عناصر رابط کاربری، به شکل نماها، که باید بین TaskPanels قرار گیرند، استفاده کنید.
یک صحنه خانگی پویا پیادهسازی کنید
یک صحنه خانه (Home scene) متشکل از چندین پنل برنامه کاربردی، قابل مشاهده همزمان و تعاملی، مانند نقشه، پخش کننده رسانه و شبکه برنامه (app grid) پیادهسازی کنید.
برای انتقال تمام پنلهای مربوطه به انواع opened یا default صفحه اصلی، _System_HomeEvent را پیکربندی کنید.
اعمال پوششهای زمینهای
عناصر رابط کاربری غیر اپلیکیشنی، مانند ویجتهای متنی، برندسازی سفارشی و نوارهای درگ که میتوانند هماهنگ با وظایف اپلیکیشن متحرکسازی شوند را قرار دهید.
از DecorPanels برای تمام عناصر صرفاً تزئینی یا میزبان ویجت استفاده کنید. اگر ویجت میزبان یک برنامه کاملاً کاربردی و قابل اجرا باشد، Panel > TaskPanel بهینه است. DecorPanels برای عناصر رابط کاربری مبتنی بر نما استفاده کنید، زمانی که لایهبندی باید با لایهبندی TaskPanel هماهنگ شود.
طراحی تعاملات پیچیده پنل
طراحی اقدامات پیشرفته کاربرمحور، مانند تغییر اندازه پویای پنل برنامه یا تنظیم نمایش خوشه ابزار بر اساس محتوای صفحه نمایش اصلی.
Events سفارشی را برای اجرای Transitions خاص و غیر استاندارد سیستم تعریف کنید.