طرح بندی های متعارف صفحه نمایش بزرگ

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

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

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

چارچوب Android شامل اجزای تخصصی است که اجرای طرح‌بندی‌ها را با استفاده از views یا Jetpack Compose ساده و قابل اعتماد می‌کند.

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

اگر قبلاً با طرح‌بندی‌های متعارف صفحه‌نمایش بزرگ آشنا هستید، اما مطمئن نیستید که کدام APIهای Android را برای برنامه‌تان استفاده کنید، برای کمک به تعیین طرح‌بندی مناسب برای موارد استفاده برنامه‌تان، به Applicability در زیر بروید.

فهرست-جزئیات

Wireframe از چیدمان فهرست-جزئیات.

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

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

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

نمایشگرهای با عرض متوسط ​​و فشرده بسته به تعامل کاربر با برنامه، لیست یا جزئیات را نشان می دهند. هنگامی که فقط لیست قابل مشاهده است، انتخاب یک آیتم لیست جزئیات را به جای لیست نمایش می دهد. هنگامی که فقط جزئیات قابل مشاهده است، با فشار دادن دکمه بازگشت، لیست دوباره نمایش داده می شود.

تغییرات پیکربندی مانند تغییر جهت دستگاه یا تغییر اندازه پنجره برنامه می تواند کلاس اندازه پنجره نمایشگر را تغییر دهد. یک چیدمان فهرست جزئیات بر این اساس پاسخ می دهد و حالت برنامه را حفظ می کند:

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

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

شکل 1. برنامه پیام رسانی لیستی از مکالمات و جزئیات یک مکالمه انتخابی را نشان می دهد.

پیاده سازی

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

نوشتن

پارادایم اعلامی Compose از منطق کلاس اندازه پنجره پشتیبانی می کند که تعیین می کند آیا لیست و پنجره های جزئیات به طور همزمان نمایش داده شوند (زمانی که کلاس اندازه پنجره عرض گسترش می یابد) یا فقط فهرست یا صفحه جزئیات (زمانی که کلاس اندازه پنجره عرض متوسط ​​است). یا فشرده).

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

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

برای اجرای نمونه، لیست جزئیات با نمونه نوشتن را ببینید.

نماها و قطعات

کتابخانه SlidingPaneLayout برای اجرای آسان طرح‌بندی‌های فهرست جزئیات بر اساس نماها یا قطعات طراحی شده است.

ابتدا یک SlidingPaneLayout به عنوان عنصر اصلی طرح XML خود اعلام کنید. در مرحله بعد، دو عنصر فرزند - نماها یا قطعات - را اضافه کنید که فهرست و محتوای جزئیات را نشان می دهد.

یک متدولوژی ارتباطی را برای انتقال داده ها بین نماها یا قطعات فهرست با جزئیات پیاده سازی کنید. ViewModel به دلیل توانایی آن در ذخیره منطق تجاری و حفظ تغییرات پیکربندی توصیه می شود.

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

برای اجرای نمونه، به نمونه List-detail with views مراجعه کنید.

تعبیه فعالیت

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

با استفاده از یک فایل پیکربندی XML، تعبیه فعالیت را با تعیین یک تقسیم پنجره وظیفه اجرا کنید. تقسیم فعالیت اولیه را که شروع کننده تقسیم است و یک فعالیت ثانویه را تعریف می کند. با استفاده از نقاط شکست کلاس اندازه پنجره، حداقل عرض نمایش را برای تقسیم مشخص کنید. هنگامی که عرض نمایش از حداقل نقطه شکست پایین می آید، فعالیت ها یکی روی دیگری نمایش داده می شوند. به عنوان مثال، اگر حداقل عرض نمایش 600dp باشد، فعالیت ها روی نمایشگرهای جمع و جور یکی روی دیگری نمایش داده می شوند، اما در نمایشگرهای متوسط ​​و گسترش یافته در کنار هم نمایش داده می شوند.

جاسازی فعالیت در Android 12L (سطح API 32) و بالاتر پشتیبانی می‌شود، اما اگر توسط سازندگان دستگاه اجرا شود، ممکن است در سطوح پایین‌تر API نیز در دسترس باشد. وقتی جاسازی فعالیت در دستگاهی در دسترس نیست، رفتار بازگشتی منجر به فعالیت لیست یا فعالیت جزئیاتی می شود که کل پنجره برنامه را بر اساس تعامل کاربر با برنامه اشغال می کند.

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

برای اجرای نمونه، به لیست جزئیات با نمونه تعبیه فعالیت مراجعه کنید.

خوراک

Wireframe از طرح خوراک.

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

اندازه و موقعیت بین عناصر محتوا رابطه برقرار می کند.

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

کارت‌ها و فهرست‌ها اجزای رایج طرح‌بندی خوراک هستند.

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

فیدها به ویژه برای اخبار و برنامه های رسانه های اجتماعی مناسب هستند.

شکل 2. برنامه رسانه های اجتماعی که پست ها را در کارت هایی با اندازه های مختلف نشان می دهد.

پیاده سازی

نوشتن

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

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

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

در نمایشگرهایی با پهنای فشرده که فضای کافی برای نمایش بیش از یک ستون ندارند، LazyVerticalGrid دقیقاً مانند LazyColumn رفتار می کند.

برای اجرای نمونه، نمونه Feed with Compose را ببینید.

نماها و قطعات

یک RecyclerView به طور موثر تعداد زیادی از آیتم ها را در یک ستون رندر می کند. یک GridLayoutManager آیتم ها را در یک شبکه قرار می دهد و امکان پیکربندی اندازه و گستره آیتم ها را فراهم می کند.

ستون های شبکه را بر اساس اندازه ناحیه نمایش موجود پیکربندی کنید تا حداقل عرض مجاز برای موارد را تنظیم کنید.

استراتژی فراگیر پیش‌فرض GridLayoutManager ، که یک بازه برای هر مورد است، می‌تواند با ایجاد یک SpanSizeLookup سفارشی لغو شود. فاصله را طوری تنظیم کنید که بر برخی موارد بر موارد دیگر تأکید شود.

در نمایشگرهایی با عرض فشرده که فضای کافی برای یک ستون دارند، به جای GridLayoutManager از LinearLayoutManager استفاده کنید.

برای اجرای نمونه، نمونه Feed with views را ببینید.

قاب پشتیبان

وایرفریم از طرح بندی صفحه پشتیبانی.

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

ناحیه نمایش اولیه اکثر پنجره برنامه (معمولاً حدود دو سوم) را اشغال می کند و حاوی محتوای اصلی است. ناحیه نمایش ثانویه یک صفحه است که باقیمانده پنجره برنامه را اشغال می کند و محتوایی را ارائه می دهد که از محتوای اصلی پشتیبانی می کند.

طرح‌بندی‌های صفحه پشتیبانی در نمایشگرهای با پهنای گسترده ( به استفاده از کلاس‌های اندازه پنجره مراجعه کنید) در جهت افقی به خوبی کار می‌کنند. نمایشگرهای با عرض متوسط ​​یا فشرده از نمایش هر دو ناحیه نمایش اولیه و ثانویه پشتیبانی می‌کنند، اگر محتوا با فضاهای نمایش باریک‌تر سازگار باشد، یا اگر محتوای اضافی را می‌توان در ابتدا در یک صفحه پایین یا کناری پنهان کرد که با استفاده از کنترلی مانند منو یا دکمه

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

موارد استفاده برای پانل پشتیبانی عبارتند از:

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

پیاده سازی

نوشتن

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

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

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

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

نماها و قطعات

یک طرح بندی پشتیبان با استفاده از یک طرح کمکی مانند LinearLayout یا ConstraintLayout پیاده سازی می شود. کلاس های اندازه پنجره را ایجاد کنید که مقدار فضای نمایش افقی موجود برای برنامه شما را به سه دسته تقسیم می کند: فشرده (< 600dp)، متوسط ​​(>= 600dp) و گسترش یافته (>= 840dp).

برای هر کلاس اندازه پنجره، layout ها را به صورت زیر تعریف کنید:

  • فشرده: در پوشه layout منابع برنامه، محتوایی را قرار دهید که صفحه پشتیبانی را در زیر محتوای اصلی یا داخل یک صفحه پایین ارائه می‌کند.
  • Medium: در پوشه layout-w600dp ، محتوای صفحه پشتیبانی را ارائه دهید که منجر به محتوای اصلی و پشتیبانی از رندر صفحه در کنار هم می شود و فضای نمایش افقی را به طور مساوی تقسیم می کند.
  • Expanded: در پوشه layout-w840dp ، محتوای صفحه را پشتیبانی می‌کند که منجر به محتوای اصلی می‌شود و پشتیبانی از رندر پانل در کنار هم. با این حال، قاب پشتیبان تنها 30 درصد از فضای افقی را اشغال می کند و 70 درصد باقی مانده را برای محتوای اصلی باقی می گذارد.

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

برای نمونه های پیاده سازی، نمونه های زیر را ببینید:

قابلیت کاربرد

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

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

شکل 4. درخت تصمیم گیری طرح بندی متعارف صفحه نمایش بزرگ.

منابع اضافی

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}