راهنمای ویژگی‌های کتابخانه پشتیبانی، راهنمای ویژگی‌های کتابخانه پشتیبانی، راهنمای ویژگی‌های کتابخانه پشتیبانی، راهنمای ویژگی‌های کتابخانه پشتیبانی

توجه: با انتشار اندروید 9.0 (سطح API 28) نسخه جدیدی از کتابخانه پشتیبانی به نام AndroidX وجود دارد که بخشی از Jetpack است. کتابخانه AndroidX شامل کتابخانه پشتیبانی موجود و همچنین شامل آخرین اجزای Jetpack است.

می توانید به استفاده از کتابخانه پشتیبانی ادامه دهید. مصنوعات تاریخی (آنهایی که نسخه 27 و قبل از آن منتشر شده اند و به عنوان android.support.* ) در Google Maven در دسترس خواهند بود. با این حال، تمام توسعه کتابخانه جدید در کتابخانه AndroidX رخ خواهد داد.

توصیه می کنیم از کتابخانه های AndroidX در تمام پروژه های جدید استفاده کنید. همچنین باید پروژه های موجود را به AndroidX منتقل کنید .

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

این سند یک نمای کلی از دسته‌بندی‌های مهم ویژگی‌های موجود در کتابخانه پشتیبانی و کلاس‌های خاصی را ارائه می‌کند که باید هنگام ساخت برنامه‌تان درباره آن‌ها بدانید.

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

اجزای برنامه

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

  • فعالیت ها
    • ActivityCompat - شامل پیاده‌سازی سازگار با عقب برای ویژگی‌های کلیدی اخیر فعالیت‌ها، مانند مجوزهای زمان اجرا و انتقال انیمیشن.
    • FragmentActivity - اجرای سازگار با عقب را برای فعالیت ها برای استفاده از نسخه های کتابخانه پشتیبانی Fragment و Loader API ها ارائه می دهد.
    • AppCompatActivity - تم های رنگی مواد، رنگ آمیزی ویجت و نوار برنامه را برای دستگاه های قبلی پشتیبانی می کند. استفاده از این کلاس مستلزم استفاده از تم های Theme.AppCompat برای ارائه بصری ثابت است.
  • Fragment - یک پیاده سازی مستقل از کلاس Fragment را ارائه می دهد. این کلاس باید با FragmentActivity استفاده شود.
  • ContextCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Context پشتیبانی می کند، از جمله پشتیبانی از مجوزها، دسترسی به فایل و اطلاعات رنگ.
  • IntentCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Intent پشتیبانی می کند، از جمله روش هایی برای انتخاب و شروع فعالیت های خاص.
  • Loader - یک پیاده سازی ثابت از کلاس Loader فریمورک را ارائه می دهد و کلاس پایه برای کلاس های پشتیبانی AsyncTaskLoader و CursorLoader است.
  • Preference - این کلاس و زیر کلاس‌های آن پیاده‌سازی رابط کاربری تنظیمات برنامه را به روشی سازگار با عقب ارائه می‌کنند.
  • ContentResolverCompat - پشتیبانی از ویژگی های معرفی شده در نسخه های اخیر کلاس ContentResolver ، به ویژه متد query() با پشتیبانی از لغو یک پرس و جو در حال انجام است.

رابط کاربری

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

ظروف طرح بندی همه منظوره

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

  • RecyclerView - با استفاده از استراتژی برای جلوگیری از مصرف زیاد حافظه، یک طرح برای نمایش لیست های طولانی ایجاد می کند. این کلاس به شما امکان می دهد یک نمای پنجره محدود را در یک مجموعه داده بزرگتر ایجاد کنید، بنابراین از مصرف مقدار زیادی حافظه هنگام نمایش لیست جلوگیری کنید. برای اطلاعات بیشتر در مورد استفاده از RecyclerView ، به راهنمای Recycler View مراجعه کنید.
  • ViewPager - طرحی را ارائه می دهد که به کاربر اجازه می دهد صفحات داده را به چپ و راست ورق بزند.
  • GridLayout - طرحی را با فرزندان خود در یک شبکه مستطیل شکل ارائه می دهد که از دهانه های دلخواه سلول های به هم پیوسته و توزیع فضای انعطاف پذیر پشتیبانی می کند. این کلاس یک نسخه سازگار با عقب از کلاس GridLayout را ارائه می دهد که در Android 4.0 (سطح API 14) معرفی شده است.
  • PercentFrameLayout و PercentRelativeLayout - طرح‌بندی‌هایی را ارائه می‌کند که از ابعاد و حاشیه‌های مبتنی بر درصد برای نمایش‌ها و محتوای فرزند آن پشتیبانی می‌کند.

توجه: کلاس‌های ViewPager ، RecyclerView ، PercentFrameLayout و PercentRelativeLayout فقط از کتابخانه‌های پشتیبانی در دسترس هستند.

ظروف چیدمان خاص

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

  • DrawerLayout - طرحی را ایجاد می کند که به نمای تعاملی کشو اجازه می دهد تا از لبه پنجره نمای بیرون کشیده شود.
  • SlidingPaneLayout - یک طرح افقی و چند صفحه ای را برای استفاده در سطح بالای رابط کاربری برنامه برای ایجاد طرح‌بندی‌هایی ارائه می‌کند که می‌توانند به آرامی در اندازه‌های مختلف صفحه‌نمایش تطبیق داده شوند، در صفحه‌های بزرگتر گسترش یابند و برای قرار گرفتن در صفحه‌های کوچکتر جمع شوند.
  • NestedScrollView - یک طرح‌بندی پیمایشی که از تودرتو کردن سایر نماهای پیمایشی پشتیبانی می‌کند و به شما امکان می‌دهد فهرست‌هایی را با مواردی که حاوی لیست‌های فرزند اضافی هستند ایجاد کنید. این لیست‌های تودرتو می‌توانند شامل مواردی باشند که به صورت افقی یا عمودی، جدا از فهرست اصلی، حرکت می‌کنند.
  • SwipeRefreshLayout - طرح‌بندی را برای پشتیبانی از داده‌های تازه‌سازی برای فهرست‌ها یا طرح‌بندی دیگر با ژست کشیدن انگشت ارائه می‌دهد.

نماها، دیالوگ ها و ویجت ها

کتابخانه های پشتیبانی تعدادی کلاس برای نمایش محتوا و ارائه عناصر تعامل کاربر در یک طرح ارائه می کنند.

  • CardView - یک کلاس سفارشی کتابخانه پشتیبانی برای ایجاد کارت‌های نمایش سبک Material Design. این کلاس بر اساس FrameLayout با گوشه های گرد و یک سایه دراپ است.
  • AppCompatDialogFragment - با گسترش DialogFragment و استفاده از AppCompatDialog ، دیالوگ هایی با استایل ثابت ارائه می دهد.
  • NotificationCompat - از سبک های اعلان جدیدتر به روشی سازگار با عقب پشتیبانی می کند.
  • SearchView - کلاسی را برای کاربر فراهم می کند تا یک عبارت جستجو را وارد کند و درخواستی را به یک ارائه دهنده جستجو ارسال کند، که در درجه اول برای استفاده در نوار برنامه در نظر گرفته شده است.

طراحی متریال

کتابخانه های پشتیبانی تعدادی کلاس را برای پیاده سازی توصیه های رابط کاربری Material Design ارائه می کنند.

  • CoordinatorLayout - یک محفظه سطح بالا برای طرح‌بندی‌هایی که اجزای طراحی متریال و رفتار را در بر می‌گیرد، فراهم می‌کند. این کلاس همچنین می تواند به عنوان یک محفظه برای تعامل خاص با یک یا چند نمای فرزند استفاده شود.
  • AppBarLayout - اجرای بسیاری از ویژگی های اسکرول مفهوم نوار برنامه Material Design را ارائه می دهد.
  • FloatingActionButton - دکمه شناور را برای نمایش نوع خاصی از اقدام تبلیغ شده ایجاد می کند. این عنصر رابط کاربری متریال دیزاین به صورت نماد دایره ای شناور در بالای رابط کاربری برنامه نشان داده می شود. برای اطلاعات بیشتر، به افزودن دکمه عمل شناور مراجعه کنید.
  • DrawerLayout - یک کشوی پیمایش ایجاد می کند—یک پنل رابط کاربری که منوی اصلی پیمایش برنامه شما را نشان می دهد. زمانی ظاهر می شود که کاربر انگشت خود را از لبه سمت چپ صفحه بکشد یا روی نماد کشو در نوار برنامه ضربه بزند. برای اطلاعات بیشتر، به ایجاد کشوی پیمایش مراجعه کنید.
  • TabLayout - یک طرح بندی برای نمایش صفحات تب دار ارائه می دهد. این ویجت برای استفاده با کلاس ViewPager طراحی شده است.
  • Snackbar - ویجتی را برای نمایش بازخورد سبک در مورد یک عملیات با استفاده از پنجره بازشو نوار اسنک ارائه می دهد.

گرافیک

بسته android.support.graphics.drawable از ترسیم‌های برداری پشتیبانی می‌کند. با استفاده از ترسیم‌های برداری، می‌توانید چندین دارایی PNG را با یک گرافیک برداری که در XML تعریف شده است جایگزین کنید.

VectorDrawableCompat از ترسیم‌های برداری در سطح API 9 و بالاتر پشتیبانی می‌کند. AnimatedVectorDrawableCompat از ترسیم‌های برداری متحرک در سطح API 11 و بالاتر پشتیبانی می‌کند.

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

بسته android.support.v4.view.accessibility کلاس‌های سازگاری را برای پیاده‌سازی ویژگی‌های دسترس‌پذیری معرفی‌شده در سطح API 14 و بالاتر ارائه می‌کند که به سرویس‌های دسترس‌پذیری اجازه می‌دهد تا تعامل کاربر را با موارد نمایش داده شده روی صفحه مشاهده و شناسایی کنند.

  • ExploreByTouchHelper - پشتیبانی از قابلیت دسترسی را در یک نمای سفارشی ارائه می دهد که مجموعه ای از موارد منطقی نما را نشان می دهد.

پخش رسانه

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

  • MediaRouter - برنامه‌ها را فعال می‌کند تا مسیریابی کانال‌های رسانه و جریان‌ها را از دستگاه فعلی به بلندگوهای خارجی و دستگاه‌های مقصد کنترل کنند.
  • MediaControllerCompat - به برنامه اجازه می دهد با یک جلسه رسانه در حال انجام تعامل داشته باشد. برنامه‌ها می‌توانند دکمه‌های کنترل رسانه را از طریق این مکانیسم ارائه کنند و سایر دستورات پخش را به جلسه ارسال کنند.
  • MediaSessionCompat - یک رابط کنترل از راه دور برای پخش رسانه ارائه می دهد که تعامل با کنترل کننده های رسانه، کلیدهای صدا، دکمه های رسانه و کنترل های حمل و نقل را در برنامه های دیگر یا در دستگاه های جداگانه امکان پذیر می کند.

برنامه های تلویزیون

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

پوشیدن اپلیکیشن ها

Android SDK کتابخانه هایی را برای پشتیبانی از ساعت ها فراهم می کند. این کتابخانه‌ها قابلیت‌هایی را برای برنامه‌ها فراهم می‌کنند که هر زمان که کاربران ساعت دارند در دسترس هستند.

آب و برق

کتابخانه پشتیبانی اندروید تعدادی ویژگی را ارائه می دهد که در چارچوب تعبیه نشده اند. این کتابخانه ها طیف وسیعی از ابزارهای کاربردی را ارائه می دهند که برنامه ها می توانند از آنها استفاده کنند.

،

توجه: با انتشار اندروید 9.0 (سطح API 28) نسخه جدیدی از کتابخانه پشتیبانی به نام AndroidX وجود دارد که بخشی از Jetpack است. کتابخانه AndroidX شامل کتابخانه پشتیبانی موجود و همچنین شامل آخرین اجزای Jetpack است.

می توانید به استفاده از کتابخانه پشتیبانی ادامه دهید. مصنوعات تاریخی (آنهایی که نسخه 27 و قبل از آن منتشر شده اند و به عنوان android.support.* ) در Google Maven در دسترس خواهند بود. با این حال، تمام توسعه کتابخانه جدید در کتابخانه AndroidX رخ خواهد داد.

توصیه می کنیم از کتابخانه های AndroidX در تمام پروژه های جدید استفاده کنید. همچنین باید پروژه های موجود را به AndroidX منتقل کنید .

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

این سند یک نمای کلی از دسته‌بندی‌های مهم ویژگی‌های موجود در کتابخانه پشتیبانی و کلاس‌های خاصی را ارائه می‌کند که باید هنگام ساخت برنامه‌تان درباره آن‌ها بدانید.

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

اجزای برنامه

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

  • فعالیت ها
    • ActivityCompat - شامل پیاده‌سازی سازگار با عقب برای ویژگی‌های کلیدی اخیر فعالیت‌ها، مانند مجوزهای زمان اجرا و انتقال انیمیشن.
    • FragmentActivity - اجرای سازگار با عقب را برای فعالیت ها برای استفاده از نسخه های کتابخانه پشتیبانی Fragment و Loader API ها ارائه می دهد.
    • AppCompatActivity - تم های رنگی مواد، رنگ آمیزی ویجت و نوار برنامه را برای دستگاه های قبلی پشتیبانی می کند. استفاده از این کلاس مستلزم استفاده از تم های Theme.AppCompat برای ارائه بصری ثابت است.
  • Fragment - یک پیاده سازی مستقل از کلاس Fragment را ارائه می دهد. این کلاس باید با FragmentActivity استفاده شود.
  • ContextCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Context پشتیبانی می کند، از جمله پشتیبانی از مجوزها، دسترسی به فایل و اطلاعات رنگ.
  • IntentCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Intent پشتیبانی می کند، از جمله روش هایی برای انتخاب و شروع فعالیت های خاص.
  • Loader - یک پیاده سازی ثابت از کلاس Loader فریمورک را ارائه می دهد و کلاس پایه برای کلاس های پشتیبانی AsyncTaskLoader و CursorLoader است.
  • Preference - این کلاس و زیر کلاس‌های آن پیاده‌سازی رابط کاربری تنظیمات برنامه را به روشی سازگار با عقب ارائه می‌کنند.
  • ContentResolverCompat - پشتیبانی از ویژگی های معرفی شده در نسخه های اخیر کلاس ContentResolver ، به ویژه متد query() با پشتیبانی از لغو یک پرس و جو در حال انجام است.

رابط کاربری

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

ظروف طرح بندی همه منظوره

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

  • RecyclerView - با استفاده از استراتژی برای جلوگیری از مصرف زیاد حافظه، یک طرح برای نمایش لیست های طولانی ایجاد می کند. این کلاس به شما امکان می دهد یک نمای پنجره محدود را در یک مجموعه داده بزرگتر ایجاد کنید، بنابراین از مصرف مقدار زیادی حافظه هنگام نمایش لیست جلوگیری کنید. برای اطلاعات بیشتر در مورد استفاده از RecyclerView ، به راهنمای Recycler View مراجعه کنید.
  • ViewPager - طرحی را ارائه می دهد که به کاربر اجازه می دهد صفحات داده را به چپ و راست ورق بزند.
  • GridLayout - طرحی را با فرزندان خود در یک شبکه مستطیل شکل ارائه می دهد که از دهانه های دلخواه سلول های به هم پیوسته و توزیع فضای انعطاف پذیر پشتیبانی می کند. این کلاس یک نسخه سازگار با عقب از کلاس GridLayout را ارائه می دهد که در Android 4.0 (سطح API 14) معرفی شده است.
  • PercentFrameLayout و PercentRelativeLayout - طرح‌بندی‌هایی را ارائه می‌کند که از ابعاد و حاشیه‌های مبتنی بر درصد برای نمایش‌ها و محتوای فرزند آن پشتیبانی می‌کند.

توجه: کلاس‌های ViewPager ، RecyclerView ، PercentFrameLayout و PercentRelativeLayout فقط از کتابخانه‌های پشتیبانی در دسترس هستند.

ظروف چیدمان خاص

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

  • DrawerLayout - طرحی را ایجاد می کند که به نمای تعاملی کشو اجازه می دهد تا از لبه پنجره نمای بیرون کشیده شود.
  • SlidingPaneLayout - یک طرح افقی و چند صفحه ای را برای استفاده در سطح بالای رابط کاربری برنامه برای ایجاد طرح‌بندی‌هایی ارائه می‌کند که می‌توانند به آرامی در اندازه‌های مختلف صفحه‌نمایش تطبیق داده شوند، در صفحه‌های بزرگتر گسترش یابند و برای قرار گرفتن در صفحه‌های کوچکتر جمع شوند.
  • NestedScrollView - یک طرح‌بندی پیمایشی که از تودرتو کردن سایر نماهای پیمایشی پشتیبانی می‌کند و به شما امکان می‌دهد فهرست‌هایی را با مواردی که حاوی لیست‌های فرزند اضافی هستند ایجاد کنید. این لیست‌های تودرتو می‌توانند شامل مواردی باشند که به صورت افقی یا عمودی، جدا از فهرست اصلی، حرکت می‌کنند.
  • SwipeRefreshLayout - طرح‌بندی را برای پشتیبانی از داده‌های تازه‌سازی برای فهرست‌ها یا طرح‌بندی دیگر با ژست کشیدن انگشت ارائه می‌دهد.

نماها، دیالوگ ها و ویجت ها

کتابخانه های پشتیبانی تعدادی کلاس برای نمایش محتوا و ارائه عناصر تعامل کاربر در یک طرح ارائه می کنند.

  • CardView - یک کلاس سفارشی کتابخانه پشتیبانی برای ایجاد کارت‌های نمایش سبک Material Design. این کلاس بر اساس FrameLayout با گوشه های گرد و یک سایه دراپ است.
  • AppCompatDialogFragment - با گسترش DialogFragment و استفاده از AppCompatDialog ، دیالوگ هایی با استایل ثابت ارائه می دهد.
  • NotificationCompat - از سبک های اعلان جدیدتر به روشی سازگار با عقب پشتیبانی می کند.
  • SearchView - کلاسی را برای کاربر فراهم می کند تا یک عبارت جستجو را وارد کند و درخواستی را به یک ارائه دهنده جستجو ارسال کند، که در درجه اول برای استفاده در نوار برنامه در نظر گرفته شده است.

طراحی متریال

کتابخانه های پشتیبانی تعدادی کلاس را برای پیاده سازی توصیه های رابط کاربری Material Design ارائه می کنند.

  • CoordinatorLayout - یک محفظه سطح بالا برای طرح‌بندی‌هایی که اجزای طراحی متریال و رفتار را در بر می‌گیرد، فراهم می‌کند. این کلاس همچنین می تواند به عنوان یک محفظه برای تعامل خاص با یک یا چند نمای فرزند استفاده شود.
  • AppBarLayout - اجرای بسیاری از ویژگی های اسکرول مفهوم نوار برنامه Material Design را ارائه می دهد.
  • FloatingActionButton - دکمه شناور را برای نمایش نوع خاصی از اقدام تبلیغ شده ایجاد می کند. این عنصر رابط کاربری متریال دیزاین به صورت نماد دایره ای شناور در بالای رابط کاربری برنامه نشان داده می شود. برای اطلاعات بیشتر، به افزودن دکمه عمل شناور مراجعه کنید.
  • DrawerLayout - یک کشوی پیمایش ایجاد می کند—یک پنل رابط کاربری که منوی اصلی پیمایش برنامه شما را نشان می دهد. زمانی ظاهر می شود که کاربر انگشت خود را از لبه سمت چپ صفحه بکشد یا روی نماد کشو در نوار برنامه ضربه بزند. برای اطلاعات بیشتر، به ایجاد کشوی پیمایش مراجعه کنید.
  • TabLayout - یک طرح بندی برای نمایش صفحات تب دار ارائه می دهد. این ویجت برای استفاده با کلاس ViewPager طراحی شده است.
  • Snackbar - ویجتی را برای نمایش بازخورد سبک در مورد یک عملیات با استفاده از پنجره بازشو نوار اسنک ارائه می دهد.

گرافیک

بسته android.support.graphics.drawable از ترسیم‌های برداری پشتیبانی می‌کند. با استفاده از ترسیم‌های برداری، می‌توانید چندین دارایی PNG را با یک گرافیک برداری که در XML تعریف شده است جایگزین کنید.

VectorDrawableCompat از ترسیم‌های برداری در سطح API 9 و بالاتر پشتیبانی می‌کند. AnimatedVectorDrawableCompat از ترسیم‌های برداری متحرک در سطح API 11 و بالاتر پشتیبانی می‌کند.

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

بسته android.support.v4.view.accessibility کلاس‌های سازگاری را برای پیاده‌سازی ویژگی‌های دسترس‌پذیری معرفی‌شده در سطح API 14 و بالاتر ارائه می‌کند که به سرویس‌های دسترس‌پذیری اجازه می‌دهد تا تعامل کاربر را با موارد نمایش داده شده روی صفحه مشاهده و شناسایی کنند.

  • ExploreByTouchHelper - پشتیبانی از قابلیت دسترسی را در یک نمای سفارشی ارائه می دهد که مجموعه ای از موارد منطقی نما را نشان می دهد.

پخش رسانه

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

  • MediaRouter - برنامه‌ها را فعال می‌کند تا مسیریابی کانال‌های رسانه و جریان‌ها را از دستگاه فعلی به بلندگوهای خارجی و دستگاه‌های مقصد کنترل کنند.
  • MediaControllerCompat - به برنامه اجازه می دهد با یک جلسه رسانه در حال انجام تعامل داشته باشد. برنامه‌ها می‌توانند دکمه‌های کنترل رسانه را از طریق این مکانیسم ارائه کنند و سایر دستورات پخش را به جلسه ارسال کنند.
  • MediaSessionCompat - یک رابط کنترل از راه دور برای پخش رسانه ارائه می دهد که تعامل با کنترل کننده های رسانه، کلیدهای صدا، دکمه های رسانه و کنترل های حمل و نقل را در برنامه های دیگر یا در دستگاه های جداگانه امکان پذیر می کند.

برنامه های تلویزیون

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

پوشیدن اپلیکیشن ها

Android SDK کتابخانه هایی را برای پشتیبانی از ساعت ها فراهم می کند. این کتابخانه‌ها قابلیت‌هایی را برای برنامه‌ها فراهم می‌کنند که هر زمان که کاربران ساعت دارند در دسترس هستند.

آب و برق

کتابخانه پشتیبانی اندروید تعدادی ویژگی را ارائه می دهد که در چارچوب تعبیه نشده اند. این کتابخانه ها طیف وسیعی از ابزارهای کاربردی را ارائه می دهند که برنامه ها می توانند از آنها استفاده کنند.

،

توجه: با انتشار اندروید 9.0 (سطح API 28) نسخه جدیدی از کتابخانه پشتیبانی به نام AndroidX وجود دارد که بخشی از Jetpack است. کتابخانه AndroidX شامل کتابخانه پشتیبانی موجود و همچنین شامل آخرین اجزای Jetpack است.

می توانید به استفاده از کتابخانه پشتیبانی ادامه دهید. مصنوعات تاریخی (آنهایی که نسخه 27 و قبل از آن منتشر شده اند و به عنوان android.support.* ) در Google Maven در دسترس خواهند بود. با این حال، تمام توسعه کتابخانه جدید در کتابخانه AndroidX رخ خواهد داد.

توصیه می کنیم از کتابخانه های AndroidX در تمام پروژه های جدید استفاده کنید. همچنین باید پروژه های موجود را به AndroidX منتقل کنید .

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

این سند یک نمای کلی از دسته‌بندی‌های مهم ویژگی‌های موجود در کتابخانه پشتیبانی و کلاس‌های خاصی را ارائه می‌کند که باید هنگام ساخت برنامه‌تان درباره آن‌ها بدانید.

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

اجزای برنامه

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

  • فعالیت ها
    • ActivityCompat - شامل پیاده‌سازی سازگار با عقب برای ویژگی‌های کلیدی اخیر فعالیت‌ها، مانند مجوزهای زمان اجرا و انتقال انیمیشن.
    • FragmentActivity - اجرای سازگار با عقب را برای فعالیت ها برای استفاده از نسخه های کتابخانه پشتیبانی Fragment و Loader API ها ارائه می دهد.
    • AppCompatActivity - تم های رنگی مواد، رنگ آمیزی ویجت و نوار برنامه را برای دستگاه های قبلی پشتیبانی می کند. استفاده از این کلاس مستلزم استفاده از تم های Theme.AppCompat برای ارائه بصری ثابت است.
  • Fragment - یک پیاده سازی مستقل از کلاس Fragment را ارائه می دهد. این کلاس باید با FragmentActivity استفاده شود.
  • ContextCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Context پشتیبانی می کند، از جمله پشتیبانی از مجوزها، دسترسی به فایل و اطلاعات رنگ.
  • IntentCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Intent پشتیبانی می کند، از جمله روش هایی برای انتخاب و شروع فعالیت های خاص.
  • Loader - یک پیاده سازی ثابت از کلاس Loader فریمورک را ارائه می دهد و کلاس پایه برای کلاس های پشتیبانی AsyncTaskLoader و CursorLoader است.
  • Preference - این کلاس و زیر کلاس‌های آن پیاده‌سازی رابط کاربری تنظیمات برنامه را به روشی سازگار با عقب ارائه می‌کنند.
  • ContentResolverCompat - پشتیبانی از ویژگی های معرفی شده در نسخه های اخیر کلاس ContentResolver ، به ویژه متد query() با پشتیبانی از لغو یک پرس و جو در حال انجام است.

رابط کاربری

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

ظروف طرح بندی همه منظوره

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

  • RecyclerView - با استفاده از استراتژی برای جلوگیری از مصرف زیاد حافظه، یک طرح برای نمایش لیست های طولانی ایجاد می کند. این کلاس به شما امکان می دهد یک نمای پنجره محدود را در یک مجموعه داده بزرگتر ایجاد کنید، بنابراین از مصرف مقدار زیادی حافظه هنگام نمایش لیست جلوگیری کنید. برای اطلاعات بیشتر در مورد استفاده از RecyclerView ، به راهنمای Recycler View مراجعه کنید.
  • ViewPager - طرحی را ارائه می دهد که به کاربر اجازه می دهد صفحات داده را به چپ و راست ورق بزند.
  • GridLayout - طرحی را با فرزندان خود در یک شبکه مستطیل شکل ارائه می دهد که از دهانه های دلخواه سلول های به هم پیوسته و توزیع فضای انعطاف پذیر پشتیبانی می کند. این کلاس یک نسخه سازگار با عقب از کلاس GridLayout را ارائه می دهد که در Android 4.0 (سطح API 14) معرفی شده است.
  • PercentFrameLayout و PercentRelativeLayout - طرح‌بندی‌هایی را ارائه می‌کند که از ابعاد و حاشیه‌های مبتنی بر درصد برای نمایش‌ها و محتوای فرزند آن پشتیبانی می‌کند.

توجه: کلاس‌های ViewPager ، RecyclerView ، PercentFrameLayout و PercentRelativeLayout فقط از کتابخانه‌های پشتیبانی در دسترس هستند.

ظروف چیدمان خاص

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

  • DrawerLayout - طرحی را ایجاد می کند که به نمای تعاملی کشو اجازه می دهد تا از لبه پنجره نمای بیرون کشیده شود.
  • SlidingPaneLayout - یک طرح افقی و چند صفحه ای را برای استفاده در سطح بالای رابط کاربری برنامه برای ایجاد طرح‌بندی‌هایی ارائه می‌کند که می‌توانند به آرامی در اندازه‌های مختلف صفحه‌نمایش تطبیق داده شوند، در صفحه‌های بزرگتر گسترش یابند و برای قرار گرفتن در صفحه‌های کوچکتر جمع شوند.
  • NestedScrollView - یک طرح‌بندی پیمایشی که از تودرتو کردن سایر نماهای پیمایشی پشتیبانی می‌کند و به شما امکان می‌دهد فهرست‌هایی را با مواردی که حاوی لیست‌های فرزند اضافی هستند ایجاد کنید. این لیست‌های تودرتو می‌توانند شامل مواردی باشند که به صورت افقی یا عمودی، جدا از فهرست اصلی، حرکت می‌کنند.
  • SwipeRefreshLayout - طرح‌بندی را برای پشتیبانی از داده‌های تازه‌سازی برای فهرست‌ها یا طرح‌بندی دیگر با ژست کشیدن انگشت ارائه می‌دهد.

نماها، دیالوگ ها و ویجت ها

کتابخانه های پشتیبانی تعدادی کلاس برای نمایش محتوا و ارائه عناصر تعامل کاربر در یک طرح ارائه می کنند.

  • CardView - یک کلاس سفارشی کتابخانه پشتیبانی برای ایجاد کارت‌های نمایش سبک Material Design. این کلاس بر اساس FrameLayout با گوشه های گرد و یک سایه دراپ است.
  • AppCompatDialogFragment - با گسترش DialogFragment و استفاده از AppCompatDialog ، دیالوگ هایی با استایل ثابت ارائه می دهد.
  • NotificationCompat - از سبک های اعلان جدیدتر به روشی سازگار با عقب پشتیبانی می کند.
  • SearchView - کلاسی را برای کاربر فراهم می کند تا یک عبارت جستجو را وارد کند و درخواستی را به یک ارائه دهنده جستجو ارسال کند، که در درجه اول برای استفاده در نوار برنامه در نظر گرفته شده است.

طراحی متریال

کتابخانه های پشتیبانی تعدادی کلاس را برای پیاده سازی توصیه های رابط کاربری Material Design ارائه می کنند.

  • CoordinatorLayout - یک محفظه سطح بالا برای طرح‌بندی‌هایی که اجزای طراحی متریال و رفتار را در بر می‌گیرد، فراهم می‌کند. این کلاس همچنین می تواند به عنوان یک محفظه برای تعامل خاص با یک یا چند نمای فرزند استفاده شود.
  • AppBarLayout - اجرای بسیاری از ویژگی های اسکرول مفهوم نوار برنامه Material Design را ارائه می دهد.
  • FloatingActionButton - دکمه شناور را برای نمایش نوع خاصی از اقدام تبلیغ شده ایجاد می کند. این عنصر رابط کاربری متریال دیزاین به صورت نماد دایره ای شناور در بالای رابط کاربری برنامه نشان داده می شود. برای اطلاعات بیشتر، به افزودن دکمه عمل شناور مراجعه کنید.
  • DrawerLayout - یک کشوی پیمایش ایجاد می کند—یک پنل رابط کاربری که منوی اصلی پیمایش برنامه شما را نشان می دهد. زمانی ظاهر می شود که کاربر انگشت خود را از لبه سمت چپ صفحه بکشد یا روی نماد کشو در نوار برنامه ضربه بزند. برای اطلاعات بیشتر، به ایجاد کشوی پیمایش مراجعه کنید.
  • TabLayout - یک طرح بندی برای نمایش صفحات تب دار ارائه می دهد. این ویجت برای استفاده با کلاس ViewPager طراحی شده است.
  • Snackbar - ویجتی را برای نمایش بازخورد سبک در مورد یک عملیات با استفاده از پنجره بازشو نوار اسنک ارائه می دهد.

گرافیک

بسته android.support.graphics.drawable از ترسیم‌های برداری پشتیبانی می‌کند. با استفاده از ترسیم‌های برداری، می‌توانید چندین دارایی PNG را با یک گرافیک برداری که در XML تعریف شده است جایگزین کنید.

VectorDrawableCompat از ترسیم‌های برداری در سطح API 9 و بالاتر پشتیبانی می‌کند. AnimatedVectorDrawableCompat از ترسیم‌های برداری متحرک در سطح API 11 و بالاتر پشتیبانی می‌کند.

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

بسته android.support.v4.view.accessibility کلاس‌های سازگاری را برای پیاده‌سازی ویژگی‌های دسترس‌پذیری معرفی‌شده در سطح API 14 و بالاتر ارائه می‌کند که به سرویس‌های دسترس‌پذیری اجازه می‌دهد تا تعامل کاربر را با موارد نمایش داده شده روی صفحه مشاهده و شناسایی کنند.

  • ExploreByTouchHelper - پشتیبانی از قابلیت دسترسی را در یک نمای سفارشی ارائه می دهد که مجموعه ای از موارد منطقی نما را نشان می دهد.

پخش رسانه

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

  • MediaRouter - برنامه‌ها را فعال می‌کند تا مسیریابی کانال‌های رسانه و جریان‌ها را از دستگاه فعلی به بلندگوهای خارجی و دستگاه‌های مقصد کنترل کنند.
  • MediaControllerCompat - به برنامه اجازه می دهد با یک جلسه رسانه در حال انجام تعامل داشته باشد. برنامه‌ها می‌توانند دکمه‌های کنترل رسانه را از طریق این مکانیسم ارائه کنند و سایر دستورات پخش را به جلسه ارسال کنند.
  • MediaSessionCompat - یک رابط کنترل از راه دور برای پخش رسانه ارائه می دهد که تعامل با کنترل کننده های رسانه، کلیدهای صدا، دکمه های رسانه و کنترل های حمل و نقل را در برنامه های دیگر یا در دستگاه های جداگانه امکان پذیر می کند.

برنامه های تلویزیون

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

پوشیدن اپلیکیشن ها

Android SDK کتابخانه هایی را برای پشتیبانی از ساعت ها فراهم می کند. این کتابخانه‌ها قابلیت‌هایی را برای برنامه‌ها فراهم می‌کنند که هر زمان که کاربران ساعت دارند در دسترس هستند.

آب و برق

کتابخانه پشتیبانی اندروید تعدادی ویژگی را ارائه می دهد که در چارچوب تعبیه نشده اند. این کتابخانه ها طیف وسیعی از ابزارهای کاربردی را ارائه می دهند که برنامه ها می توانند از آنها استفاده کنند.

،

توجه: با انتشار اندروید 9.0 (سطح API 28) نسخه جدیدی از کتابخانه پشتیبانی به نام AndroidX وجود دارد که بخشی از Jetpack است. کتابخانه AndroidX شامل کتابخانه پشتیبانی موجود و همچنین شامل آخرین اجزای Jetpack است.

می توانید به استفاده از کتابخانه پشتیبانی ادامه دهید. مصنوعات تاریخی (آنهایی که نسخه 27 و قبل از آن منتشر شده اند و به عنوان android.support.* ) در Google Maven در دسترس خواهند بود. با این حال، تمام توسعه کتابخانه جدید در کتابخانه AndroidX رخ خواهد داد.

توصیه می کنیم از کتابخانه های AndroidX در تمام پروژه های جدید استفاده کنید. همچنین باید پروژه های موجود را به AndroidX منتقل کنید .

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

این سند یک نمای کلی از دسته‌بندی‌های مهم ویژگی‌های موجود در کتابخانه پشتیبانی و کلاس‌های خاصی را ارائه می‌کند که باید هنگام ساخت برنامه‌تان درباره آن‌ها بدانید.

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

اجزای برنامه

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

  • فعالیت ها
    • ActivityCompat - شامل پیاده‌سازی سازگار با عقب برای ویژگی‌های کلیدی اخیر فعالیت‌ها، مانند مجوزهای زمان اجرا و انتقال انیمیشن.
    • FragmentActivity - اجرای سازگار با عقب را برای فعالیت ها برای استفاده از نسخه های کتابخانه پشتیبانی Fragment و Loader API ها ارائه می دهد.
    • AppCompatActivity - تم های رنگی مواد، رنگ آمیزی ویجت و نوار برنامه را برای دستگاه های قبلی پشتیبانی می کند. استفاده از این کلاس مستلزم استفاده از تم های Theme.AppCompat برای ارائه بصری ثابت است.
  • Fragment - یک پیاده سازی مستقل از کلاس Fragment را ارائه می دهد. این کلاس باید با FragmentActivity استفاده شود.
  • ContextCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Context پشتیبانی می کند، از جمله پشتیبانی از مجوزها، دسترسی به فایل و اطلاعات رنگ.
  • IntentCompat - از ویژگی های معرفی شده در نسخه های اخیر کلاس Intent پشتیبانی می کند، از جمله روش هایی برای انتخاب و شروع فعالیت های خاص.
  • Loader - یک پیاده سازی ثابت از کلاس Loader فریمورک را ارائه می دهد و کلاس پایه برای کلاس های پشتیبانی AsyncTaskLoader و CursorLoader است.
  • Preference - این کلاس و زیر کلاس‌های آن پیاده‌سازی رابط کاربری تنظیمات برنامه را به روشی سازگار با عقب ارائه می‌کنند.
  • ContentResolverCompat - پشتیبانی از ویژگی های معرفی شده در نسخه های اخیر کلاس ContentResolver ، به ویژه متد query() با پشتیبانی از لغو یک پرس و جو در حال انجام است.

رابط کاربری

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

ظروف طرح بندی همه منظوره

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

  • RecyclerView - با استفاده از استراتژی برای جلوگیری از مصرف زیاد حافظه، یک طرح برای نمایش لیست های طولانی ایجاد می کند. این کلاس به شما امکان می دهد یک نمای پنجره محدود را در یک مجموعه داده بزرگتر ایجاد کنید، بنابراین از مصرف مقدار زیادی حافظه هنگام نمایش لیست جلوگیری کنید. برای اطلاعات بیشتر در مورد استفاده از RecyclerView ، به راهنمای Recycler View مراجعه کنید.
  • ViewPager - طرحی را ارائه می دهد که به کاربر اجازه می دهد صفحات داده را به چپ و راست ورق بزند.
  • GridLayout - طرحی را با فرزندان خود در یک شبکه مستطیل شکل ارائه می دهد که از دهانه های دلخواه سلول های به هم پیوسته و توزیع فضای انعطاف پذیر پشتیبانی می کند. این کلاس یک نسخه سازگار با عقب از کلاس GridLayout را ارائه می دهد که در Android 4.0 (سطح API 14) معرفی شده است.
  • PercentFrameLayout و PercentRelativeLayout - طرح‌بندی‌هایی را ارائه می‌کند که از ابعاد و حاشیه‌های مبتنی بر درصد برای نمایش‌ها و محتوای فرزند آن پشتیبانی می‌کند.

توجه: کلاس‌های ViewPager ، RecyclerView ، PercentFrameLayout و PercentRelativeLayout فقط از کتابخانه‌های پشتیبانی در دسترس هستند.

ظروف چیدمان خاص

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

  • DrawerLayout - طرحی را ایجاد می کند که به نمای تعاملی کشو اجازه می دهد تا از لبه پنجره نمای بیرون کشیده شود.
  • SlidingPaneLayout - یک طرح افقی و چند صفحه ای را برای استفاده در سطح بالای رابط کاربری برنامه برای ایجاد طرح‌بندی‌هایی ارائه می‌کند که می‌توانند به آرامی در اندازه‌های مختلف صفحه‌نمایش تطبیق داده شوند، در صفحه‌های بزرگتر گسترش یابند و برای قرار گرفتن در صفحه‌های کوچکتر جمع شوند.
  • NestedScrollView - یک طرح‌بندی پیمایشی که از تودرتو کردن سایر نماهای پیمایشی پشتیبانی می‌کند و به شما امکان می‌دهد فهرست‌هایی را با مواردی که حاوی لیست‌های فرزند اضافی هستند ایجاد کنید. این لیست‌های تودرتو می‌توانند شامل مواردی باشند که به صورت افقی یا عمودی، جدا از فهرست اصلی، حرکت می‌کنند.
  • SwipeRefreshLayout - طرح‌بندی را برای پشتیبانی از داده‌های تازه‌سازی برای فهرست‌ها یا طرح‌بندی دیگر با ژست کشیدن انگشت ارائه می‌دهد.

نماها، دیالوگ ها و ویجت ها

کتابخانه های پشتیبانی تعدادی کلاس برای نمایش محتوا و ارائه عناصر تعامل کاربر در یک طرح ارائه می کنند.

  • CardView - یک کلاس سفارشی کتابخانه پشتیبانی برای ایجاد کارت‌های نمایش سبک Material Design. این کلاس بر اساس FrameLayout با گوشه های گرد و یک سایه دراپ است.
  • AppCompatDialogFragment - با گسترش DialogFragment و استفاده از AppCompatDialog ، دیالوگ هایی با استایل ثابت ارائه می دهد.
  • NotificationCompat - از سبک های اعلان جدیدتر به روشی سازگار با عقب پشتیبانی می کند.
  • SearchView - کلاسی را برای کاربر فراهم می کند تا یک عبارت جستجو را وارد کند و درخواستی را به یک ارائه دهنده جستجو ارسال کند، که در درجه اول برای استفاده در نوار برنامه در نظر گرفته شده است.

طراحی متریال

کتابخانه های پشتیبانی تعدادی کلاس را برای پیاده سازی توصیه های رابط کاربری Material Design ارائه می کنند.

  • CoordinatorLayout - یک محفظه سطح بالا برای طرح‌بندی‌هایی که اجزای طراحی متریال و رفتار را در بر می‌گیرد، فراهم می‌کند. این کلاس همچنین می تواند به عنوان یک محفظه برای تعامل خاص با یک یا چند نمای فرزند استفاده شود.
  • AppBarLayout - اجرای بسیاری از ویژگی های اسکرول مفهوم نوار برنامه Material Design را ارائه می دهد.
  • FloatingActionButton - دکمه شناور را برای نمایش نوع خاصی از اقدام تبلیغ شده ایجاد می کند. این عنصر رابط کاربری متریال دیزاین به صورت نماد دایره ای شناور در بالای رابط کاربری برنامه نشان داده می شود. برای اطلاعات بیشتر، به افزودن دکمه عمل شناور مراجعه کنید.
  • DrawerLayout - یک کشوی پیمایش ایجاد می کند—یک پنل رابط کاربری که منوی اصلی پیمایش برنامه شما را نشان می دهد. زمانی ظاهر می شود که کاربر انگشت خود را از لبه سمت چپ صفحه بکشد یا روی نماد کشو در نوار برنامه ضربه بزند. برای اطلاعات بیشتر، به ایجاد کشوی پیمایش مراجعه کنید.
  • TabLayout - یک طرح بندی برای نمایش صفحات تب دار ارائه می دهد. این ویجت برای استفاده با کلاس ViewPager طراحی شده است.
  • Snackbar - ویجتی را برای نمایش بازخورد سبک در مورد یک عملیات با استفاده از پنجره بازشو نوار اسنک ارائه می دهد.

گرافیک

بسته android.support.graphics.drawable از ترسیم‌های برداری پشتیبانی می‌کند. با استفاده از ترسیم‌های برداری، می‌توانید چندین دارایی PNG را با یک گرافیک برداری که در XML تعریف شده است جایگزین کنید.

VectorDrawableCompat از ترسیم‌های برداری در سطح API 9 و بالاتر پشتیبانی می‌کند. AnimatedVectorDrawableCompat از ترسیم‌های برداری متحرک در سطح API 11 و بالاتر پشتیبانی می‌کند.

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

بسته android.support.v4.view.accessibility کلاس‌های سازگاری را برای پیاده‌سازی ویژگی‌های دسترس‌پذیری معرفی‌شده در سطح API 14 و بالاتر ارائه می‌کند که به سرویس‌های دسترس‌پذیری اجازه می‌دهد تا تعامل کاربر را با موارد نمایش داده شده روی صفحه مشاهده و شناسایی کنند.

  • ExploreByTouchHelper - پشتیبانی از قابلیت دسترسی را در یک نمای سفارشی ارائه می دهد که مجموعه ای از موارد منطقی نما را نشان می دهد.

پخش رسانه

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

  • MediaRouter - برنامه‌ها را فعال می‌کند تا مسیریابی کانال‌های رسانه و جریان‌ها را از دستگاه فعلی به بلندگوهای خارجی و دستگاه‌های مقصد کنترل کنند.
  • MediaControllerCompat - به برنامه اجازه می دهد با یک جلسه رسانه در حال انجام تعامل داشته باشد. برنامه‌ها می‌توانند دکمه‌های کنترل رسانه را از طریق این مکانیسم ارائه کنند و سایر دستورات پخش را به جلسه ارسال کنند.
  • MediaSessionCompat - یک رابط کنترل از راه دور برای پخش رسانه ارائه می دهد که تعامل با کنترل کننده های رسانه، کلیدهای صدا، دکمه های رسانه و کنترل های حمل و نقل را در برنامه های دیگر یا در دستگاه های جداگانه امکان پذیر می کند.

برنامه های تلویزیون

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

پوشیدن اپلیکیشن ها

Android SDK کتابخانه هایی را برای پشتیبانی از ساعت ها فراهم می کند. این کتابخانه‌ها قابلیت‌هایی را برای برنامه‌ها فراهم می‌کنند که هر زمان که کاربران ساعت دارند در دسترس هستند.

آب و برق

کتابخانه پشتیبانی اندروید تعدادی ویژگی را ارائه می دهد که در چارچوب تعبیه نشده اند. این کتابخانه ها طیف وسیعی از ابزارهای کاربردی را ارائه می دهند که برنامه ها می توانند از آنها استفاده کنند.