پشتیبانی از آرشیو ویرایش کتابخانه

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

نسخه 26.0.0 بتا 2

(ژوئن 2017)

لطفا توجه داشته باشید که 26.0.0-beta2 یک نسخه پیش از انتشار است. سطح API آن در معرض تغییر است و لزوماً شامل ویژگی‌ها یا رفع اشکال از آخرین نسخه‌های پایدار کتابخانه پشتیبانی نمی‌شود.

مهم: کتابخانه های پشتیبانی اکنون از طریق مخزن Maven Google در دسترس هستند. شما نیازی به دانلود مخزن پشتیبانی از مدیر SDK ندارید. برای اطلاعات بیشتر، به راه اندازی کتابخانه پشتیبانی مراجعه کنید.

API های جدید

تفاوت های API

رفع اشکال

  • افت SDK Android O باعث از بین رفتن حروف کج در TextViews می شود
  • استثنای اشاره گر تهی هنگام اتصال به MediaBrowserServiceCompat
  • TextInputLayout باید نکاتی را روی onProvideAutofillStructure() تنظیم کند.
  • هنگام استفاده از اندازه خودکار TextView در O، سرریز پشته جمع کنید

نسخه 26.0.0 بتا 1

(مه 2017)

لطفا توجه داشته باشید که 26.0.0-beta1 یک نسخه پیش از انتشار است. سطح API آن در معرض تغییر است و لزوماً شامل ویژگی‌ها یا رفع اشکال از آخرین نسخه‌های پایدار کتابخانه پشتیبانی نمی‌شود.

مهم: کتابخانه های پشتیبانی اکنون از طریق مخزن Maven Google در دسترس هستند. شما نیازی به دانلود مخزن پشتیبانی از مدیر SDK ندارید. برای اطلاعات بیشتر، به راه اندازی کتابخانه پشتیبانی مراجعه کنید.

تغییرات مهم

  • FragmentActivity.setSupportMediaController() و FragmentActivity.getSupportMediaController() حذف شده اند. لطفاً از متدهای استاتیک MediaControllerCompat.setMediaController() و MediaControllerCompat.getMediaController() استفاده کنید.
  • اکنون BottomNavigationView به جای فراخوانی onNavigationItemReselected() زمانی که یک مورد از قبل انتخاب شده انتخاب شده باشد، onNavigationItemSelected() فراخوانی می کند.
  • همه نمونه‌های متد findViewById() اکنون <T extends View> T به جای View برمی‌گردانند. این تغییر دارای پیامدهای زیر است:
    • این ممکن است منجر به این شود که کد موجود اکنون دارای نوع بازگشت مبهم باشد، برای مثال اگر هر دو someMethod(View) و someMethod(TextView) وجود داشته باشد که نتیجه فراخوانی را به findViewById() می برد.
    • هنگامی که از زبان مبدأ جاوا 8 استفاده می‌کنید، زمانی که نوع بازگشتی نامحدود باشد، به یک Cast واضح برای View نیاز دارد (به عنوان مثال assertNotNull(findViewById(...)).someViewMethod()) .
    • نادیده گرفتن متدهای غیر نهایی findViewById() (به عنوان مثال، Activity.findViewById() ) باید نوع برگشتی خود را به روز شود.

API های جدید

  • FragmentManager و Fragment دارای یک متد isStateSaved() هستند تا امکان پرس و جو در مورد اینکه آیا تراکنش بدون از دست دادن حالت مجاز خواهد بود یا خیر. این به ویژه برای بررسی هنگام مدیریت یک رویداد onClick() قبل از اجرای هر تراکنش مفید است.
  • حرکت مسیر در AnimatedVectorDrawableCompat پشتیبانی می شود. حرکت مسیر به یک انیماتور شی اجازه می دهد تا دو ویژگی را همزمان بر اساس یک مسیر تغییر دهد. مسیر به عنوان android:pathData در XML انیماتور مشخص شده است.
  • انیمیشن مبتنی بر فیزیک :
    • FlingAnimation جدید که از انیمیشن سازی با سرعت اولیه پشتیبانی می کند و به آرامی سرعت را کاهش می دهد.
    • زیر کلاس های DynamicAnimation از متحرک سازی ویژگی های سفارشی برای هر شی پشتیبانی می کنند.
    • هر دو SpringAnimation و FlingAnimation اکنون می توانند یک مقدار شناور را بدون نیاز به یک View یا یک Object به آن متحرک کنند.

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

  • پشتیبانی از فونت در XML :
    • ResourcesCompat.getFont اجازه بارگیری منابع فونت - از جمله XML خانواده فونت - را می دهد که ممکن است با TextView.setTypeface() استفاده شود.
    • هنگام استفاده از AppCompat، TextView از تعیین منبع فونت یا XML خانواده فونت از طریق ویژگی android:fontFamily XML پشتیبانی می کند.
    • از XML font-family برای ایجاد خانواده هایی از فونت ها با تغییرات سبک و وزن استفاده کنید. (اگر از کلاس های کتابخانه پشتیبانی برای انجام این کار استفاده می کنید، از app: ویژگی ها و همچنین ویژگی های android: استفاده کنید.)
  • فونت های قابل دانلود:
    • FontsContractCompat جدید که به شما امکان می دهد به جای اینکه فونت ها را در برنامه خود قرار دهید، از یک ارائه دهنده فونت درخواست کنید.
    • فونت ها را می توان در XML نیز درخواست کرد و در طرح بندی ها استفاده کرد.
  • کتابخانه سازگاری ایموجی :
    • EmojiCompat می تواند یک CharSequence داده شده را پردازش کند و EmojiSpans را اضافه کند.
    • EmojiTextView و سایر ویجت ها برای نمایش ایموجی.
    • FontRequestEmojiCompatConfig برای درخواست فونت emoji از یک ارائه دهنده فونت.
  • اندازه خودکار TextView :
    • روش های جدید در TextViewCompat و همچنین ویژگی های XML برای کنترل اندازه خودکار در TextView .
  • کنترل‌های پخش Leanback با پشتیبانی جستجو:
    • PlaybackTransportRowPresenter جدید که کنترل‌های پخش را با SeekBar ارائه می‌کند.
    • PlaybackTransportControlGlue جدید که با PlaybackTransportRowPresenter کار می کند و جستجو را پشتیبانی می کند.
    • کلاس پایه جدید PlaybackSeekDataProvider برای برنامه برای ارائه تصاویر کوچک جستجو به PlaybackTransportControlGlue .
  • فروشگاه داده های ترجیحی:
    • PreferenceDataStore اکنون به شما این امکان را می دهد که ذخیره سازی ترجیحات خود را که با روش های جدید در Preference و PreferenceManager تنظیم شده است، پیاده سازی کنید.

مسائل شناخته شده

  • ادغام سازگاری فونت‌های دانلودی و ایموجی با خدمات Google Play فقط در Google Play Services نسخه 11+ کار می‌کند که در حال حاضر از طریق برنامه بتای Google Play Services در دسترس است.

رفع اشکال

  • API MediaBrowserCompat.search() کار نمی کند (AOSP شماره 262170 )
  • ViewCompat.postInvalidateOnAnimation() استثنا را ایجاد می کند (AOSP شماره 80146 )
  • onActivityCreated() فرگمنت ها را در Activity تخریب شده فراخوانی کرد
  • RecyclerView.isComputingLayout() باید در حین واکشی اولیه به حالت true برگردد
  • هنگامی که یک انتقال Fade قطع می شود و برعکس می شود، View انیمیشن را از ابتدا شروع می کند. (اصلاح پورت شده از Android Framework.)
  • Transition.Fade آلفای اولیه View را نادیده می گیرد (نسخه AOSP 221820 )

نسخه 26.0.0 آلفا 1

(مارس 2017)

لطفاً توجه داشته باشید که 26.0.0-alpha1 یک نسخه پیش از انتشار است. سطح API آن در معرض تغییر است و لزوماً شامل ویژگی‌ها یا رفع اشکال از آخرین نسخه‌های پایدار کتابخانه پشتیبانی نمی‌شود.

تغییرات مهم

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

  • ماژول پشتیبانی درصد منسوخ شده است. کلاینت های این ماژول باید به ویجت ConstraintLayout جدید مهاجرت کنند که به عنوان یک مصنوع جداگانه در SDK Manager ارائه شده است.
  • ماژول support-fragment دیگر به ماژول support-media-compat وابستگی ندارد.

API های جدید

بسیاری از کلاس‌ها، روش‌ها و ثابت‌های جدید اضافه شده‌اند تا پشتیبانی سازگار با عقب را برای APIهای پلتفرم اضافه شده در O Preview فراهم کنند.

  • IME_FLAG_NO_PERSONALIZED_LEARNING : IME ها می توانند پرچم های "بدون یادگیری" را برای برنامه هایی که حالت خصوصی دارند، مانند مرورگرها، گوش دهند. این ویژگی به IMEها کمک می‌کند تا بفهمند برنامه‌ای در حالت خصوصی است یا نه، بنابراین می‌توانند عملکرد یادگیری یا تطبیقی ​​خود را در زمانی که برنامه در آن حالت است غیرفعال کنند.

برای لیست کامل تغییرات API بین 25.2.0 و 26.0.0-alpha1، به گزارش تفاوت های API کتابخانه پشتیبانی مراجعه کنید.

رفع اشکال

  • در برخی موارد، انیمیشن AutoTransition ساده را می توان با نمایش "پرش" قطع کرد. (AOSP شماره 221816 )

ویرایش 25.4.0

(ژوئن 2017)

مهم: کتابخانه های پشتیبانی اکنون از طریق مخزن Maven Google در دسترس هستند. شما نیازی به دانلود مخزن پشتیبانی از مدیر SDK ندارید. برای اطلاعات بیشتر، به راه اندازی کتابخانه پشتیبانی مراجعه کنید.

تغییرات مهم

  • executePendingTransactions() ، commitNow() ، popBackStackImmediate() ، و فراخوانی های تراکنش مشابه در طول تغییرات حالت FragmentManager مجاز نیستند. اجرای مجدد تراکنش ها ناامن است و FragmentManager اکنون این را در طول تغییرات وضعیت خود اعمال می کند.
  • همزمان با انتشار این کتابخانه پشتیبانی، نسخه 1.0.2 مولتی دکس را نیز منتشر می کنیم. این نسخه شامل تغییرات مهم زیر است:
    • امکان چنددکس کردن APK ابزار دقیق را فراهم می کند.
    • MultiDexTestRunner را منسوخ می کند (AndroidJUnitRunner باید به جای آن استفاده شود).
    • محافظت بهتری در برابر برخی از مدیریت بد استخراج بایگانی برنامه ارائه می دهد.
    • رفع اشکالی که می‌تواند منجر به حذف فایل‌های موقت شود.
    • نصب سریعتر را در صورت انجام همزمان در فرآیند فراهم می کند.
    • رفع اشکال نصب در API 19 و 20.

API های جدید و اصلاح شده

شکل‌گیری مسیر و درون‌یابی مسیر در AnimatedVectorDrawableCompat پشتیبانی می‌شود. شکل‌گیری مسیر به شکل‌ها اجازه می‌دهد که از یک مسیر (مشخص به عنوان android:valueFrom ) به مسیر دیگر (مشخص شده به عنوان android:valueTo ) تغییر کنند تا جلوه‌های بصری پیچیده و جذابی ارائه کنند. درونیابی مسیر به درون یابی های AnimatedVectorDrawableCompat اجازه می دهد تا به عنوان مسیر مشخص شوند (در XML درون یابی به عنوان android:pathData مشخص شده است).

تفاوت های API

مسائل رفع شد

  • استثنای اشاره گر تهی هنگام اتصال به MediaBrowserServiceCompat
  • API MediaBrowserCompat.search () کار نمی کند (AOSP شماره 262170 )
  • BrowseFragment onItemClicked callbacks شکسته شده در 25.3.0
  • NullPointerException هنگام پیمایش بالا و پایین در VerticalGridView در 25.3.1
  • ClassCastException در SimpleArrayMap.allocArrays()

ویرایش 25.3.1

(مارس 2017)

مسائل رفع شد

  • SwitchCompat به حداقل نسخه SDK 14 یا بالاتر نیاز دارد. (AOSP شماره 251302 )
  • updateListener انیمیشن مبتنی بر فیزیکListener از اولین فریم می گذرد.
  • انیمیشن برچسب BottomNavigationView خراب است.

ویرایش 25.3.0

(مارس 2017)

تغییرات مهم

هنگام ساختن از Gradle، فراداده نسخه کتابخانه پشتیبانی به‌طور خودکار به AndroidManifest.xml اضافه می‌شود، که ردیابی نسخه‌ها را در ساخت‌های عمومی ساده می‌کند. به عنوان مثال:

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

تحقیرها

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

ExifInterface
روش بولی getLatLong(float[]) منسوخ شده است. در عوض، از متد جدید getLatLong() استفاده کنید که هیچ آرگومان نمی‌گیرد و double[] را برمی‌گرداند.
mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) منسوخ شده است. در عوض، از روش جدید setErrorMessage(int, CharSequence) استفاده کنید که یک کد خطا و یک توضیحات اختیاری ارسال می شود.
EXTRA_SUGGESTION_KEYWORDS منسوخ شده است. در عوض، از قابلیت جستجوی MediaBrowserCompat استفاده کنید.
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() به LinearLayoutManager.getInitialPrefetchItemCount() تغییر نام داده است. نام قدیمی هنوز پشتیبانی می شود اما در نسخه بعدی حذف خواهد شد.

API های جدید و اصلاح شده

appcompat-v7
روش جدید ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) غیرفعال کردن انیمیشن آیکون جابجایی کشوی پیمایش را ساده می کند.
customtabs
پشتیبانی از کانال های پیام اضافه شده است. برای جزئیات به مرجع CustomTabsService.requestPostMessageChannel() و CustomTabsService.postMessage() مراجعه کنید.
dynamic-animation
کتابخانه جدید انیمیشن مبتنی بر فیزیک که مجموعه‌ای از APIها را برای ساخت انیمیشن‌هایی ارائه می‌کند که به صورت پویا به ورودی کاربر واکنش نشان می‌دهند.
leanback-v17
پشتیبانی از پس زمینه اختلاف منظر اضافه شده است. برای جزئیات به مرجع Parallax مراجعه کنید.
ویجت TimePicker برای انتخاب زمان در رابط تلویزیون اضافه شده است.
mediacompat
قابلیت جستجو اضافه شد. برای جزئیات به مرجع MediaBrowserCompat.search() و MediaBrowserServiceCompat.onSearch() مراجعه کنید.
پشتیبانی از حالت های زدن و تکرار اضافه شده است. برای جزئیات به MediaSessionCompat.setRepeatMode() و setShuffleModeEnabled() مراجعه کنید.

مسائل رفع شد

ویرایش 25.2.0

(فوریه 2017)

تغییرات مهم

مسائل رفع شد

  • این نسخه یک مشکل جدی مدیاروتر را برطرف می‌کند که در آن استفاده از دستگاه A2DP و APIهای مسیریابی رسانه می‌تواند باعث شود دستگاه پاسخگو نباشد و نیاز به راه‌اندازی مجدد داشته باشد.
  • کلاس FragmentManager.FragmentLifecycleCallbacks اکنون ثابت است.

مسائل رفع شد

  • نمایش یک اسلاید با انعکاس صفحه باعث قطع ارتباط دستگاه از Wi-Fi می شود
  • دکمه رسانه برنامه‌های رسانه‌ای را که خود را با setMediaButtonReceiver() ثبت نکرده‌اند به درستی مدیریت نمی‌کند.
  • خطای VectorDrawable با منبع رشته (نسخه AOSP 232407 )
  • اگر متن توسط XML تنظیم شده باشد، TextInputLayout اشاره و متن را پوشش می‌دهد (AOSP شماره 230171 )
  • نشت حافظه در MediaControllerCompat (نسخه AOSP 231441 )
  • خرابی RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
  • RecyclerView هنگام بازیافت دارندگان نمای از کار می افتد (AOSP شماره 225762 )
  • getAllowGeneratedReplies() به اشتباه false را برای اقدامات داخل WearableExtender برمی گرداند.

ویرایش 25.1.1

(ژانويه 2017)

مهم: یک اشکال شناخته شده در کلاس android.support.v7.media.MediaRouter در نسخه 25.1.1 و 25.1.0 کتابخانه پشتیبانی وجود دارد. اگر برنامه شما از v7 MediaRouter استفاده می کند، باید به نسخه پشتیبانی کتابخانه نسخه 25.2.0 به روز رسانی کنید که این اشکال را برطرف می کند.

تغییرات مهم

  • اکنون می‌توان تراکنش‌های تکه‌ای را در داخل و بین تراکنش‌ها بهینه کرد. بهینه سازی عملیات تراکنش قطعه می تواند عملیات لغو شده را حذف کند. برای مثال، فرض کنید دو تراکنش با هم اجرا می‌شوند، یکی که قطعه A را اضافه می‌کند و دیگری که قطعه A را با قطعه B جایگزین می‌کند. در این حالت، ممکن است اولین عملیات لغو شود و فقط قطعه B اضافه شود. این بدان معناست که قطعه A ممکن است چرخه حیات ایجاد/تخریب را طی نکند.

    یک اثر جانبی این بهینه سازی این است که قطعات ممکن است تغییرات حالت خارج از ترتیب مورد انتظار داشته باشند. برای مثال، فرض کنید یک تراکنش قطعه A را اضافه می کند، تراکنش دوم قطعه B را اضافه می کند، سپس تراکنش سوم قطعه A را حذف می کند. B اضافه می شود. با بهینه سازی، قطعه B نمی تواند مطمئن باشد که قطعه A در حین ایجاد B وجود خواهد داشت، زیرا ایجاد و تخریب قطعه A ممکن است توسط بهینه سازی حذف شود.

    این بهینه سازی به صورت پیش فرض غیرفعال است. برای فعال کردن بهینه سازی، FragmentTransaction.setAllowOptimization(true) را فراخوانی کنید.

  • Fragment ها اکنون می توانند با استفاده از Fragment.postponeEnterTransition() و Fragment.startPostponedEnterTransition() انتقال ها و انیمیشن های خود را تا زمانی که آماده شوند به تعویق بیاندازند. این API مشابه Activity.postponeEnterTransition() و Activity.startPostponedEnterTransition() است که با Activity Transitions استفاده می شود.

مسائل رفع شد

  • MediaSessionCompatTest با IllegalArgumentException شکست می خورد
  • DetailsFragment.installTitleView() در 25.1.0 فراخوانی نشده است
  • تراکنش قطعه، نمای شبح را در هنگام خروج حفظ می کند (نسخه AOSP 230679 )
  • BottomNavigationView به فاصله بین نماد مورد و متن نیاز دارد (AOSP شماره 230653 )
  • شنوندگان منتخب در PlaybackFragment و PlaybackSupportFragment جدید وجود ندارند
  • تمرکز TextInputLayout در شبیه ساز نسخه 25.1.0 کتابخانه پشتیبانی به درستی تغییر نمی کند (نسخه AOSP 230461 )
  • نمی‌توان منوی BottomNavigationView را جایگزین کرد (نسخه AOSP 230343 )
  • RecyclerView با StaggeredGridLayoutManager با موارد فول اسپان خراب می شود (AOSP شماره 230295 )
  • خرابی در MediaSessionCompat هنگام استفاده از setCallback(null)
  • PlaybackGlueHostOld و PlaybackSupportGlueHostOld هنگام تغییر ردیف پخش، تماس‌های برگشتی را مطلع نمی‌کنند
  • PlaybackOverlayFragment مثال /test نمی تواند شروع به پخش کند
  • RecyclerViewFocusRecoveryTest در API 15 ناموفق است
  • ردیف "Screenshots" در بالای صفحه متمرکز شده است
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() در API 15 خراب می شود
  • setActions() در onSubactionClicked() خراب است
  • RecyclerView هنگام بازیافت برخی از دارندگان نما از کار می افتد

ویرایش 25.1.0

(دسامبر 2016)

مهم: یک اشکال شناخته شده در کلاس android.support.v7.media.MediaRouter در نسخه 25.1.1 و 25.1.0 کتابخانه پشتیبانی وجود دارد. اگر برنامه شما از v7 MediaRouter استفاده می کند، باید به نسخه پشتیبانی کتابخانه نسخه 25.2.0 به روز رسانی کنید که این اشکال را برطرف می کند.

تغییرات مهم

  • مشتریان ویجت‌های RecyclerView تو در تو (به عنوان مثال، لیست پیمایش عمودی لیست‌های پیمایش افقی) می‌توانند با اشاره به مدیران طرح‌بندی ابزارک‌های RecyclerView داخلی، چه تعداد آیتم را قبل از پیمایش روی صفحه آماده کنند، از مزایای عملکرد قابل توجهی برخوردار شوند. LinearLayoutManager.setInitialPrefetchItemCount( N ) را فراخوانی کنید، که در آن N تعداد بازدیدهای قابل مشاهده در هر مورد داخلی است. به عنوان مثال، اگر لیست‌های افقی داخلی شما حداقل سه و نیم نمایش مورد را در یک زمان نشان می‌دهند، می‌توانید با فراخوانی LinearLayoutManager.setInitialPrefetchItemCount(4) عملکرد را بهبود ببخشید. انجام این کار به RecyclerView اجازه می دهد تا همه نماهای مرتبط را زودتر ایجاد کند، در حالی که RecyclerView بیرونی در حال پیمایش است، که به میزان قابل توجهی میزان لکنت در حین اسکرول را کاهش می دهد.
  • FragmentActivity.setSupportMediaController() و FragmentActivity.getSupportMediaController() منسوخ شده اند. لطفاً از متدهای استاتیک MediaControllerCompat.setMediaController() و MediaControllerCompat.getMediaController() استفاده کنید.
  • هنگامی که یک کلاینت یک رنگ ویجت را از طریق appcompat tinting مشخص می کند (به عنوان مثال، appcompat:buttonTint )، سرویس گیرنده مسئول ارائه تمام حالت های ضروری است (مانند "غیرفعال"، "فشرده شده"، و غیره). این با نحوه تعیین رنگ ویجت هنگام استفاده از رنگ آمیزی چارچوب مطابقت دارد.

API های جدید و اصلاح شده

مسائل رفع شد

  • جابجایی نمایان بودن گذرواژه در تست‌های دسترسی ناموفق بود.
  • Appcompat به state_enabled در دستگاه های قبل از L احترام نمی گذارد.
  • مکانیسم بازیابی فوکوس به RecyclerView اضافه شد. این همچنین هنگام استفاده از ناوبری DPAD مانند دستگاه‌های Android TV، فوکوس شکسته قطعات پیش فرض پشتیبانی را برطرف کرد.
  • Leanback: BrowseFragment با هدر غیرفعال و آداپتور خالی خراب می شود.
  • Appcompat: AlertDialog بسیار گسترده است.
  • InputContentInfoCompat زمانی که باید releasePermission() requestPermission() فراخوانی می کند.
  • MediaBrowserCompat خراب می شود.
  • CoordinatorLayout زمانی که قابلیت مشاهده روی GONE تنظیم شده باشد، نماها را اندازه‌گیری می‌کند.
  • نمی توان AnimatedVectorDrawableCompat در سطح API زیر 24 رنگ کرد
  • کتابخانه Leanback باعث ایجاد خطاهای پرزهای جعلی می شود
  • کتابخانه پالت باعث شکست تست در هر سطح API شد
  • RecyclerView تست های شکست خورده در Leanback
  • RecyclerView هنگام بازیافت دارندگان نمای از کار می افتد (AOSP شماره 225762 )
  • Fragment.onDestroy() برای فرگمنت در backstack فراخوانی نشده است
  • هنگامی که جمع می شود، scrim CollapsingToolbarLayout ترسیم نمی شود
  • CoordinatorLayout.offsetChildByInset() IllegalArgumentException را پرتاب می کند
  • متحرک سازی آیتم های RecyclerView ، RecyclerView داخلی را جدا می کند و از واکشی های اولیه در آینده جلوگیری می کند
  • موارد RecyclerView پیوست شده را نمی‌توان به صورت تودرتو واکشی کرد
  • داده‌های واکشی اولیه برای موارد تودرتو RecyclerView در اولین طرح‌بندی کنار گذاشته می‌شود
  • اگر دو رویداد کشیدن در یک موقعیت برسند، واکشی اولیه RecyclerView ناموفق است
  • RecyclerView باید زمانی که RenderThread در حال رندر شدن است، به صورت فرضی طرح بندی شود
  • منابع رنگی با پیکربندی شب که به Drawable تبدیل شده اند همیشه به درستی از حافظه پنهان منابع پاک نمی شوند.
  • FloatingActionButton : تنظیم برنامه‌ریزی BackgroundTintList به درستی کار نمی‌کند (نسخه AOSP 227428 )
  • TextInputLayout : تایپ فیس برای ErrorView تنظیم نمی شود (نسخه AOSP 227803 )
  • TextInputLayout همیشه به رنگ خطای روشن زیر API 23 برمی‌گردد (نسخه AOSP 221992 )
  • FloatingActionButton زمانی که نشانگر را ترک می کند فشار داده شده نشان می دهد

لیست کامل رفع اشکال عمومی در AOSP Issue Tracker موجود است.

تحقیرها

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

ویرایش 25.0.1

(نوامبر 2016)

مسائل رفع شد

  • جابجایی رمز عبور TextInputLayout اکنون به‌طور پیش‌فرض غیرفعال شده است تا از بازنویسی غیرضروری فایل‌های پایانی مشخص شده توسط برنامه‌نویس جلوگیری شود. ممکن است به صورت دستی از طریق ویژگی passwordToggleEnabled XML فعال شود.
  • موارد BottomNavigationView اکنون یک خط هستند تا با مشخصات مواد مطابقت داشته باشند.
  • اگر مدیر طرح‌بندی تهی باشد، RecyclerView در حین واکشی اولیه خراب می‌شود.
  • ارتفاع BottomNavigationView اکنون به درستی تنظیم شده است. (AOSP شماره 226182 )
  • BottomNavigationView هنگام اضافه کردن آیتم های منو به صورت برنامه ریزی شده خراب می شود. (AOSP شماره 225731 )
  • در TextInputLayout کشش های ترکیبی چپ+راست رفع کنید. (AOSP شماره 225836 )
  • RecyclerView هنگام بازیافت دارندگان نما از کار می افتد. (AOSP شماره 225762 )
  • Leanback: TalkBack اغلب کلمه "null" را در نمایش‌های تقسیم‌شده می‌گوید.
  • RecyclerView : مشکلات رندر در Android Studio. (AOSP شماره 225753 )
  • BottomNavigationView همچنان آیتم منو را به عنوان انتخاب شده پس از برگرداندن false onNavigationItemSelected() نشان می دهد. (AOSP شماره 225898 )
  • ForwardingListener NoSuchMethodError را پرتاب می کند. (AOSP شماره 225647 )
  • TextInputEditText نکاتی را در حالت استخراج IME نشان نمی دهد. (AOSP شماره 221880 )

لیست کامل رفع اشکال عمومی در AOSP Issue Tracker موجود است.

ویرایش 25.0.0

(اکتبر 2016)

تغییرات مهم

  • سازنده ContextCompat محافظت شده است. این کلاس نباید به صورت عمومی نمونه سازی شود، اما ممکن است توسط کتابخانه های پشتیبانی که سطوح API جدیدتر را هدف قرار می دهند، گسترش یابد.
  • سازنده ActivityCompat محافظت شده است. این کلاس نباید به صورت عمومی نمونه سازی شود، اما ممکن است توسط کتابخانه های پشتیبانی که سطوح API جدیدتر را هدف قرار می دهند، گسترش یابد.
  • getReferrer(Activity) ثابت شده است.
  • android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) حذف شده است. هر گونه پیاده سازی مشتری از این روش باید حذف شود.
  • android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) حذف شده است. کاربردها باید با متد با نام مناسب تری fromMediaSession() جایگزین شوند.
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) حذف شده است. موارد استفاده باید با روشی که نام مناسب تری دارد، MediaSessionCompat.QueueItem#fromQueueItem جایگزین شود.
  • android.support.v7.widget.Space حذف شده است. موارد استفاده باید با android.support.v4.widget.Space جایگزین شوند.

API های جدید

  • کلاس android.support.design.widget.BottomNavigationView الگوی ناوبری پایین را از مشخصات Material Design پیاده سازی می کند.
  • بسته جدید android.support.v13.view.inputmethod شامل کلاس هایی برای دسترسی به ویژگی های android.view.inputmethod.InputConnection است که پس از سطح API 13 معرفی شد.
  • کلاس android.v7.widget.RecyclerView.DividerItemDecoration یک پیاده سازی پایه برای تقسیم کننده های عمودی یا افقی بین آیتم ها ارائه می دهد.
  • سبک‌های تزئین شده جدید در android.support.v7.app.NotificationCompat ، DecoratedCustomViewStyle و DecoratedMediaCustomViewStyle ، کلاس‌های آینه اضافه شده در پلتفرم API 24.

مسائل رفع شد

لیست کامل رفع اشکال عمومی در AOSP Issue Tracker موجود است.

ویرایش 24.2.1

سپتامبر 2016

مشکلات رفع شده:

لیست کامل رفع اشکال عمومی در AOSP Issue Tracker موجود است.

ویرایش 24.2.0

آگوست 2016

نسخه 24.2.0 شامل تغییرات زیر است:

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

v4 پشتیبانی از تقسیم کتابخانه

با این نسخه، کتابخانه پشتیبانی v4 به چندین ماژول کوچکتر تقسیم شده است:

support-compat
پوشش‌های سازگاری را برای APIهای چارچوب جدید، مانند Context.getDrawable() و View.performAccessibilityAction() ارائه می‌کند.
support-core-utils
تعدادی از کلاس های کاربردی مانند AsyncTaskLoader و PermissionChecker را ارائه می دهد.
support-core-ui
انواع مؤلفه‌های مرتبط با رابط کاربری، مانند ViewPager ، NestedScrollView ، و ExploreByTouchHelper را پیاده‌سازی می‌کند.
support-media-compat
بخش هایی از چارچوب رسانه ، از جمله MediaBrowser و MediaSession را در پس زمینه ذخیره می کند.
support-fragment
چارچوب قطعه را بکپورت می کند. این ماژول به support-compat ، support-core-utils ، support-core-ui و support-media-compat وابستگی دارد.

برای سازگاری به عقب، اگر support-v4 در اسکریپت Gradle خود فهرست کنید، APK شما شامل همه این ماژول ها می شود. با این حال، برای کاهش اندازه APK، توصیه می کنیم فقط ماژول های خاصی را که برنامه خود نیاز دارد فهرست کنید.

به روز رسانی API

  • مشتریانی که از برگه‌های سفارشی استفاده می‌کنند، می‌توانند کنترل کنند که آیا برنامه‌های فوری باید باز شوند یا خیر. (توجه داشته باشید که برنامه‌های فوری هنوز به طور کلی در دسترس نیستند.) برای فعال یا غیرفعال کردن برنامه‌های فوری، با CustomTabsIntent.Builder.setInstantAppsEnabled() تماس بگیرید یا EXTRA_ENABLE_INSTANT_APPS را مشخص کنید. به‌طور پیش‌فرض، وقتی این ویژگی در دسترس قرار گرفت، Tabs سفارشی به‌طور پیش‌فرض برنامه‌های فوری را فعال می‌کند.
  • TextInputLayout پشتیبانی از تغییر قابلیت مشاهده رمز عبور از مشخصات طراحی متریال را اضافه می کند.
  • بسته جدید android.support.transition چارچوب Transitions را به سطوح API 14 و بالاتر پشتیبان می‌دهد. برای اطلاعات بیشتر به مرجع android.support.transition مراجعه کنید.
  • کتابخانه پشتیبانی Custom Tabs پشتیبانی از استفاده از RemoteViews در نوار ابزار ثانویه را اضافه می کند. متد setToolbarItem() موجود اکنون منسوخ شده است.
  • AppCompatResources توانایی بارگذاری <vector> (در سطح API 9 و بالاتر) یا <animated-vector> (در سطح API 11 و بالاتر) را با استفاده از روش جدید getDrawable() از یک شناسه منبع اضافه می کند.
  • CoordinatorLayout اکنون از تعریف نماهای داخلی پشتیبانی می کند و مشخص می کند که نماهای دیگر باید از نماهای داخلی جاخالی دهند. این به برنامه‌ها اجازه می‌دهد تا الگوهای رفتاری شبیه به روشی که FloatingActionButton از مسیر Snackbar خارج می‌شود، تکرار کنند، اما برای هر نوع فرزندی که به‌صورت دلخواه دیده می‌شود. برای اطلاعات بیشتر، به مستندات مرجع LayoutParams.insetEdge و LayoutParams.dodgeInsetEdges مراجعه کنید.
  • کلاس جدید DiffUtil می تواند تفاوت بین دو مجموعه را محاسبه کند و می تواند لیستی از عملیات به روز رسانی را که برای مصرف توسط RecyclerView.Adapter مناسب هستند ارسال کند.
  • RecyclerView.OnFlingListener برای پشتیبانی از رفتار سفارشی در پاسخ به flings اضافه شده است. کلاس SnapHelper یک پیاده‌سازی به‌طور خاص برای جدا کردن نماهای فرزند ارائه می‌کند، و کلاس LinearSnapHelper این پیاده‌سازی را برای ارائه رفتار snapping تراز مرکزی شبیه ViewPager گسترش می‌دهد.
  • کتابخانه Custom Tabs اکنون به مشتریان اجازه می‌دهد تا با فراخوانی CustomTabsIntent.setAlwaysUseBrowserUI() UI استاندارد مرورگر را به جای رابط کاربری برگه‌های سفارشی درخواست کنند. این رفتار در مواردی مفید است که مرورگر پیش‌فرض رابط کاربری برگه‌های سفارشی را تنظیم می‌کند، اما کاربر ترجیح داده است که رابط کاربری استاندارد مرورگر را ترجیح دهد.

تغییر رفتار

  • اگر از عملکرد روز/شب کتابخانه appcompat استفاده می‌کنید، هر زمان که حالت روز/شب تغییر کند، سیستم به‌طور خودکار فعالیت شما را دوباره ایجاد می‌کند (یا به دلیل زمان روز، یا به دلیل تماس با AppCompatDelegate.setLocalNightMode() ).
  • اگر نوار وضعیت نیمه شفاف باشد، Snackbar اکنون پشت نوار پیمایش کشیده می شود.

کتابخانه MediaRouter

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

تحقیرها

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

  • چندین روش در کلاس‌های زیر فقط برای API 8 و پایین‌تر مورد نیاز بود و دیگر نباید استفاده شود. در عوض، از پیاده سازی های چارچوب استفاده کنید.
    • android.support.v4.view.KeyEventCompat : با KeyEvent جایگزین کنید
    • android.support.v4.view.MotionEventCompat : از MotionEvent استفاده کنید
    • android.support.v4.view.ViewCompat : از View استفاده کنید
    • android.support.v4.view.ViewConfigurationCompat : از ViewConfiguration استفاده کنید
  • AccessibilityServiceInfoCompat.getDescription() به نفع AccessibilityServiceInfoCompat.loadDescription() منسوخ شده است، که یک توصیف به درستی بومی سازی شده را برمی گرداند.
  • شما نباید کلاس ActivityCompat را مستقیماً نمونه سازی کنید. روش غیر استاتیک getReferrer(Activity) در نسخه‌های بعدی ثابت خواهد شد.
  • CoordinatorLayout.Behavior.isDirty() منسوخ شده است و دیگر توسط CoordinatorLayout فراخوانی نمی شود. هر گونه پیاده سازی، و همچنین هر فراخوانی به این روش، باید حذف شود.
  • MediaSessionCompat.obtain() منسوخ شده و با متد با نام مناسب‌تر fromMediaSession() جایگزین شده است.
  • MediaSessionCompat.QueueItem.obtain() منسوخ شده و با متد با نام مناسب‌تر fromQueueItem() جایگزین شده است.
  • چندین کلاس انتزاعی منسوخ شده‌اند و با رابط‌هایی جایگزین شده‌اند که معادل‌های چارچوب آن‌ها را بیشتر منعکس می‌کنند.
  • CustomTabsSession.setToolbarItem() منسوخ شده و با setSecondaryToolbarViews() مبتنی بر RemoteViews جایگزین شده است.

رفع اشکال

مشکلات شناخته شده زیر با نسخه 24.2.0 برطرف شده است:

  • اطمینان حاصل کنید که نشانگر SwipeRefreshLayout زمانی که setRefreshing(true) قبل از اولین پاس اندازه گیری فراخوانی می شود نشان داده می شود ( AOSP شماره 77712 )
  • جلوگیری از سوسو زدن TabLayout هنگام تغییر صفحات ( AOSP شماره 180454 )
  • هنگام حذف SavedState در سطح API 11 و پایین تر از ClassNotFoundException اجتناب کنید ( AOSP شماره 196430 )

لیست کامل رفع اشکال عمومی در AOSP Issue Tracker موجود است.

ویرایش 24.1.1

جولای 2016

مشکلات رفع شده:

  • مشکلی را در نسخه 24.1.0 برطرف می کند که بر روی شناسه منابع به اشتراک گذاشته شده بین کتابخانه های پشتیبانی تأثیر می گذارد. این مشکل باعث شد برنامه هایی که به کتابخانه های پشتیبانی با منابع (مانند طراحی و appcompat) وابسته بودند، با مشکلات ناشی از عدم تطابق شناسه منبع مواجه شوند.

ویرایش 24.1.0

جولای 2016

تغییرات برای کتابخانه پشتیبانی v4 :
  • NotificationCompat.Action.WearableExtender دارای متدهای getHintDisplayActionInline() و setHintDisplayActionInline() برای سازگاری با Android Wear 2.0 Preview است . این روش‌ها به یک برنامه اجازه می‌دهند تا مشخص کند که یک عمل باید در خط اعلان نمایش داده شود.
  • فراخوانی Fragment.setUserVisbileHint() دیگر باعث شروع یک قطعه نمی شود اگر اشاره به FragmentTransaction اضافه شده باشد که هنوز انجام نشده است. این بر کاربران FragmentPagerAdapter تأثیر می‌گذارد که setUserVisbileHint() نادیده می‌گیرند و پس از فراخوانی super.setUserVisibleHint() وضعیت چرخه حیات خاصی از قطعه را در نظر می‌گیرند. برای اطلاعات بیشتر، به صفحه مرجع برای اسناد برای Fragment.setUserVisbileHint() مراجعه کنید.

مشکلات رفع شده:

  • TabLayout.setCustomView(null) نتایج NullPointerException ( نسخه AOSP 214753 )
  • TabLayout برگه های سفارشی را به اشتباه برجسته می کند ( نسخه AOSP 214316 )
  • AppCompattExthelper از آرایه ویژگی مرتب شده نادرست استفاده می کند ( شماره AOSP 214366 )
  • در هنگام استفاده از CostortWrapper Custom ( شماره AOSP 214055 ) از VectordRawable قابل استفاده نیست.
  • ViewDraghelper.SavelastMotion () ArrayIndexoutOfBoundSexception را پرتاب می کند ( شماره AOSP 212945 )
  • BottomSheetBehavior هنگام استفاده از SetState (state_expanded) به ارتفاع محتوای قدیمی گسترش می یابد ( شماره AOSP 213660 )
  • CollapsingToolBarlayout کودکان قابل حمل را با حاشیه بالا یا پایین اداره نمی کند ( شماره AOSP 213001 )
  • عنوان Leanback عنوان از تراز RTL پشتیبانی نمی کند ( شماره AOSP 213461 )
  • PagertabStrip به دلیل حاشیه نویسی ارثی از دست رفته ناپدید می شود ( شماره AOSP 213359 )
  • اتصال داده ها هنگام استفاده از بولی برای تنظیم پرچم های مشروط ، NullPointerException را پرتاب می کند ( شماره AOSP 191841 )
  • هماهنگ کننده به SetFitsSystemWindows () پاسخ نمی دهد ( شماره AOSP 212720 )
  • سقوط Bottom -Sheetbehavior هنگام تنظیم حالت اولیه ( شماره AOSP 203114 )
  • ViewPager در صورتی که شاخص صفحه یک مقدار بزرگ است ، صفحات را رد می کند ( شماره AOSP 211734 )
  • Bottomsheetbehavior با طرح های پویا کار نمی کند ( شماره AOSP 205226 )

تجدید نظر 24.0.0

ژوئن 2016

تغییرات برای کتابخانه پشتیبانی V4 :
  • Fragment.commitNow() برای تعهد همزمان اضافه شده است
  • NotificationCompat.MessagingStyle برای مکالمات چند حزبی اضافه شده است
  • NotificationManagerCompat.areNotificationsEnabled() و getImportance()
  • MediaSessionCompat اکنون عملکرد MediaSession را منعکس می کند و دیگر به طور خودکار setMediaButtonReceiver() تماس نمی گیرد

توجه: فقط MediaBrowserServiceCompat در نسخه 24.0.0 با نسخه های آینده Android Beyond API 24 سازگار است. اگر از نسخه های قبلی استفاده می کنید ، برای اطمینان از سازگاری به این نسخه بروزرسانی کنید.

تغییرات برای کتابخانه AppCompat V7 :
  • پشتیبانی اضافه شده برای مراجعه به اشیاء ColorStateList با مضمون از XML
تغییرات برای کتابخانه پشتیبانی طراحی :
تغییرات برای کتابخانه Leanback V17 :
  • برای ارائه استقبال و تنظیم اولین بار ، OnboardingFragment اضافه شده است
تغییرات برای برگه های سفارشی :
  • پشتیبانی اضافه شده برای ارائه سلسله مراتب RemoteViews برای نوار ابزار ثانویه
  • اضافه شده CustomTabsClient.connectAndInitialize() برای گرم کردن یک خط

تجدید نظر 23.4.0

می 2016

تغییرات برای کتابخانه پشتیبانی V4 :
  • مسئله ثابت که قطعات به ترتیب اشتباه اضافه شده اند. ( شماره 206901 )
  • مسئله ثابت که در آن نوار برنامه پس از پیمایش در صفحه نمایش ترسیم نشده است. ( شماره 178037 )
تغییرات برای کتابخانه AppCompat V7 :
تغییرات برای کتابخانه پشتیبانی طراحی :
تغییرات برای کتابخانه قابل ترسیم بردار:

ویرایش 23.3.0

آوریل 2016

تغییرات برای کتابخانه پشتیبانی V4 :
  • اضافه شده AppLaunchChecker برای کمک به ردیابی نحوه راه اندازی برنامه شما در گذشته توسط کاربر. hasStartedFromLauncher() به شما امکان می دهد بدانید که آیا کاربر قبلاً برنامه شما را از صفحه اصلی راه اندازی کرده است یا اینکه فقط با روش های دیگر شروع شده است (برای مثال ، برای مشاهده URL های وب خاص).
  • رفع یک نشت حافظه در MediaBrowserServiceCompat.mConnections . ( شماره 205220 )
  • مسئله ثابت که در آن ViewPager هنگام صفحه تلنگر ، حاشیه صفحه را به حساب نمی آورد. ( شماره 203816 )
  • Fragment.onRequestPermissionsResult() اکنون به قطعات کودک تحویل داده می شود.
تغییرات برای کتابخانه AppCompat V7 :
تغییرات برای کتابخانه V7 Mediarouter :
تغییرات برای کتابخانه اولویت V7 :
تغییرات برای کتابخانه RecyClerview V7 :
تغییرات برای کتابخانه پشتیبانی طراحی :

ویرایش 23.2.1

مارس 2016

تغییرات برای کتابخانه پشتیبانی V4 :
تغییرات برای کتابخانه AppCompat V7 :
  • وابستگی به دارایی های بردار به گونه ای که توسعه دهندگان با استفاده از کتابخانه APPCOMPAT مجبور به استفاده از پرچم VectorDrawable و ساخت آن نیستند.
  • رفع مشکل سازگاری با حالت شب و سطح API 23. ( شماره 201910 )
  • رفع مسئله سازگاری با SwitchCompat و API سطح 7. ( شماره 201942 )
  • مسئله را با انتشار مقادیر پیکربندی در منابع اشیاء شماره 201928 حل کرد
  • مسئله سازگاری را برطرف کرد که در آن دکمه android.support.v7.app.NotificationCompat.MediaStyle در سطح 21 و پایین API نامرئی می شود. ( شماره 202156 )
  • سقوط سازگاری با AppCompatSpinner در سطح API 21 و پایین. ( شماره 202246 )
  • مسئله ای را که app:textAllCaps = "false" سبک کار نمی کند ، برطرف کرد. ( شماره 202117 )
  • هنگام بازیابی SearchView ، یک تصادف را برطرف کرد. ( شماره 201836 )
  • یک نشت حافظه که هنگام رنگ آمیزی منابع قابل ترسیم با استفاده از AppCompat رخ می دهد ، برطرف می شود. ( شماره 202379 )
  • مسئله ای را با KeyEvent در سطح API 11 و پایین تر برطرف کرد. ( شماره 202939 )
تغییرات برای کتابخانه CardView V7 :
تغییرات برای کتابخانه RecyClerview V7 :
  • اشکالات ثابت مربوط به روشهای مختلف اندازه گیری. ( شماره 201856 )
  • دوره قفل را کاهش می دهد که در آن RecyclerView در هنگام محاسبه طرح یا پیمایش ، آداپتور را تغییر نمی دهد. ( شماره 202046 )
  • هنگام تماس با notifyItemChanged() بر روی موردی که خارج از دید است ، تصادف را برطرف کرد. ( شماره 202136 )
  • تصادف را برطرف کرد که هنگام RecyclerView.LayoutManager رخ می دهد. layoutmanager اضافه می کند و نمای را در همان پاس اندازه گیری حذف می کند. ( شماره 193958 )
تغییرات برای کتابخانه V7 Mediarouter :
تغییرات برای کتابخانه Leanback V17 :
  • مسئله ای را با GridLayout.onAddFocusables() که باعث انتخاب مورد اشتباه شد ، رفع کرد.
  • مسئله ثابت با اقدامات GuidedStepFragment پس از فروپاشی یک عمل ناپدید می شود.
تغییرات برای کتابخانه پشتیبانی طراحی :
  • تصادف TabLayout ناشی از جمع آوری زبانه را برطرف کرد. ( شماره 201827 )
  • رفع اشکال در NavigationView که باعث انتخاب رنگ اشتباه شد. ( شماره 201951 )
  • رفع اشکال در جایی که setBackgroundTintList() دیگر قادر به تغییر رنگ پس زمینه نبود. ( شماره 201873 )
  • مسئله ای را برطرف کرد که AppBarLayout هنگام استفاده از android:fitsSystemWindows = “true” . ( شماره 201822 )
  • مسئله ای را برطرف کرد که در آن BottomSheetDialog نماهای محتوای کوتاه را به درستی نشان نداد. ( شماره 201793 )
  • مسئله ای را برطرف کرد که در صورت تغییر محتوای داخل ، به صورت BottomSheetDialogFragment به صورت پراکنده حرکت کرد. ( شماره 202125 )
  • سقوط در پیوند پیشخوان TextInputLayout
  • سقوط یک تصادف که هنگام TextInputLayout.getCounterMaxLength() یک حالت ذخیره شده را بازیابی کرد. ( شماره 202375 )
  • رفع یک ClassCastException که هنگام بازگرداندن یک CoordinatorLayout با استفاده از حالت ذخیره شده از دیدگاه که یک CoordinatorLayout نبود ، رخ داد.
تغییرات برای VectordRawableCompat:
  • رفع اشکال در جایی که متغیر اشتباه برای android:tintMode . ( شماره 201907 )

ویرایش 23.2.0

فوریه 2016

تغییرات برای کتابخانه پشتیبانی V4 :
  • اضافه شده MediaBrowserCompat برای پشتیبانی MediaBrowser و MediaBrowserServiceCompat برای پشتیبانی MediaBrowserService . این امر هنگام اتصال سرویس پس زمینه برنامه رسانه ای با اجزای UI و ادغام با Android Auto و Android Wear بدون نیاز به API سطح 21 یا بالاتر مفید است.
  • این سیستم اکنون برای یک قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه FragmentActivity onActivityResult() در حال حاضر.
تغییرات برای کتابخانه AppCompat V7 :
  • عملکرد حالت شب به سطح 14 و بالاتر API اضافه شده است. بر اساس زمان روز یا تنظیمات خاص برنامه ، بین مواد نور و مواد تیره مواد را تغییر دهید.
    • مضامین روز و شب <sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml می توان در اینجا یافت:
    • AppCompatDelegate.setDefaultNightMode() : با عبور یکی از ثابت های زیر ، حالت پیش فرض برنامه را تنظیم می کند:
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode() : تنظیم حالت شب را برای مؤلفه برنامه محلی نادیده می گیرد.
    • AppCompatDelegate.getDefaultNightMode() : حالت شب پیش فرض را برمی گرداند.
تغییرات برای کتابخانه V7 Mediarouter :
تغییرات برای کتابخانه پشتیبانی طراحی :
  • پشتیبانی از برگه های پایین . یک افزونه تعامل ، BottomSheetBehavior ، به کودک اجازه می دهد تا از یک CoordinatorLayout به عنوان یک ورق پایین عمل کند. کلاس پایه ، BottomSheetCallback ، برای نظارت بر وقایع ورق های پایین ، تماس های برگشتی را ارائه می دهد.
تغییرات برای کتابخانه پشتیبانی CustomTabs :
  • زبانه های Chrome Custom اکنون به برنامه ها اجازه می دهد علاوه بر دکمه Action Top Action ، یک نوار پایین با دکمه های اکشن را نیز درج کنند.
  • CustomTabsIntent.Builder.addToolBarItem() : یک دکمه عمل را به یک برگه سفارشی اضافه می کند. می توانید از این برای اضافه کردن چندین دکمه استفاده کنید.
  • CustomTabsSession.setToolBarItem() : تصاویر را برای موارد نوار ابزار به روز می کند. این روش تنها در صورتی موفق می شود که یک شناسه معتبر به آن داده شود و جلسه مرورگر در پیش زمینه باشد.
اضافه شده کتابخانه پشتیبانی VectordRawable:
  • کلاسهای اضافه شده:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • پشتیبانی از دارایی های VectorDrawable را به برنامه هایی که در سطح 7 یا بالاتر API اجرا می شوند ، می افزاید. دارایی های AnimatedVectorDrawable نیز در سطح API 11 یا بالاتر پشتیبانی می شوند. دارایی های بردار می توانند به طور قابل توجهی کوچکتر از دارایی های تصویر باشند و با کاهش میزان دارایی های مورد نیاز برای پشتیبانی از صفحه های مختلف دستگاه ، به کاهش اندازه برنامه کمک می کنند.
  • این کتابخانه اکنون وابستگی به کتابخانه V7 AppCompat است و به توسعه دهندگان و AppCompat اجازه می دهد تا به راحتی از نقشه های بردار استفاده کنند. برای استفاده از VectorDrawableCompat در یک ImageButton یا ImageView ، از روش app:srcCompat XML یا روش setImageResource() استفاده کنید.
  • برای ادامه مراجعه به شناسه های ویژگی در سطح 20 یا پایین API ، پرچم appt زیر را به build,gradle :
    • اگر در حال ساخت با افزونه Android برای Gradle 1.5.0 یا پایین تر هستید ، موارد زیر را به پرونده build.gradle خود اضافه کنید:
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
      
    • اگر در حال ساخت با افزونه Android برای Gradle 2.0.0 یا بالاتر هستید ، موارد زیر را به پرونده build.gradle خود اضافه کنید:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
تغییرات برای کتابخانه Leanback V17 :
  • قابلیت های جدید اضافه شده به GuidedStepFragment ، که مؤلفه ای است که کاربران را از طریق یک تصمیم یا یک سری تصمیمات راهنمایی می کند:
    • اقدامات دکمه اضافه شده به GuidedAction :
      • GuidedStepFragment.setButtonActions() : لیستی از دکمه های GuidedAction را تنظیم می کند که کاربر ممکن است از نمای اقدامات انتخاب کند.
    • زمینه های توضیحات اکنون قابل ویرایش هستند:
      • GuidedAction.Builder.descriptionEditable() : هنگام عبور از true ، توضیحات عمل را قابل ویرایش می کند.
      • GuidedAction.getEditDescription() : توضیحات قابل ویرایش را به عنوان CharSequence برمی گرداند.
    • لیست های کشویی اضافه شده از اقدامات فرعی:
      • GuidedAction.setSubActions() : لیست GuidedAction را به عنوان منوی کشویی از اقدامات فرعی تنظیم می کند.
  • ویجت GuidedDatePickerAction را برای عملکرد DatePicker اضافه کرد:
    • تاریخ با استفاده از ستون های سال ، ماه و روز انتخاب شده و دامنه قابل تنظیم دارد.
    • GuidedDatePickerAction.Builder : کلاس سازنده برای شیء GuidedDatePickerAction .
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat) : با عبور از String سه کاراکتر مناسب ، به عنوان مثال “YMD” یا “MDY” قالب تاریخ مورد نظر را تنظیم کنید. از طرف دیگر ، از ویژگی datePickerFormat XML استفاده کنید.
تغییرات برای کتابخانه RecyClerview V7 :
  • RecyclerView اکنون دارای ویژگی Opt-in به نام Automeasure است که به RecyclerView.LayoutManager امکان می دهد. LayoutManager به راحتی محتوا را بسته بندی کرده یا مشخصات مختلف اندازه گیری ارائه شده توسط والدین RecyclerView را انجام می دهد. این پشتیبانی از تمام قابلیت های انیمیشن موجود در RecyclerView .
    • اگر یک RecyclerView.LayoutManager سفارشی دارید ، برای شروع استفاده از API جدید Automeasure ، با setAutoMeasureEnabled(true) تماس بگیرید. همه اشیاء داخلی RecyclerView.LayoutManager LayoutManager به طور پیش فرض اندازه گیری خودکار را فعال می کنند.
    • RecyclerView.LayoutManager دیگر برخی از تنظیمات RecyclerView.LayoutParams مانند MATCH_PARENT در جهت پیمایش نادیده نمی گیرد.

      توجه: این محدودیت های برداشته شده ممکن است باعث ایجاد رفتار غیر منتظره در چیدمان شما شود. اطمینان حاصل کنید که پارامترهای صحیح طرح را مشخص کرده اید.

  • هنگام به روزرسانی یک RecyclerView.ViewHolder با اطلاعات بار ، DefaultItemAnimator اکنون انیمیشن ها را غیرفعال می کند.
  • اکنون می توانید سرعت فرار از ItemTouchHelper را برای کنترل حساسیت به کش رفتن تغییر دهید. برای آسانتر کردن یا سخت تر کردن ضربه تند وشدید زدن ، غلبه بر getSwipeEscapeVelocity(float defaultValue) و تغییر defaultValue .

تجدید نظر 23.1.1

نوامبر 2015

تغییرات برای کتابخانه RecyClerview V7:
  • تصادف را برطرف کرد که هنگام انجام یک عمل کشویی به دیسمیس که کلاس ابزار مورد ItemTouchHelper را ارائه می دهد ، رخ می دهد و سپس یک مورد را اضافه می کنید. ( شماره 190500 )
تغییرات برای کتابخانه اولویت V7:
  • مسئله ای با استفاده از Proguard رفع کرد. ( شماره 183261 )
تغییرات برای کتابخانه پشتیبانی Leanback V17:
  • تعدادی از مسائل داخلی در این کتابخانه را برطرف کرد.
تغییرات برای کتابخانه پشتیبانی طراحی:
  • روش getHeaderView به کلاس NavigationView اضافه کرد.
  • مسئله پس زمینه شفاف برای یک شیء FloatingActionButton در دستگاه هایی که Android 4.0 (API سطح 15) و پایین دارند ، برطرف شده است. ( شماره 183315 )

ویرایش 23.1.0

اکتبر 2015

تغییرات برای کتابخانه پشتیبانی V4:
  • پشتیبانی از رابط OnScrollChangedListener به ویجت NestedScrollView در توهین. این امکان را به شما می دهد تا هنگام تغییر موقعیت های Scroll X یا Y ، تماس تلفنی دریافت کنید.
  • یک کلاس MediaButtonReceiver را برای پیشبرد کنترل های پخش دریافت شده به خدماتی که مدیریت کلاس MediaSessionCompat را دریافت می کند ، اضافه کرد. کلاس MediaSessionCompat دارای یک سازنده است که می تواند به طور خودکار یک گیرنده دکمه رسانه را در مانیفست پیدا کند. گیرنده دکمه رسانه بخش اصلی برای کنترل کنترل های پخش از سخت افزار یا کنترل های بلوتوث است.
تغییرات برای کتابخانه AppCompat V7:
  • ویجت های طراحی مواد Seekbar و ImageButton اضافه شده است.
  • ویجت ImageView را برای پشتیبانی از ویژگی TINT به روز کرد.
  • نگاه و احساس ویجت SwitchCompat را به روز کرد.
تغییرات برای کتابخانه V7 Mediarouter:
  • ویژگی های زیر را به کلاس MediaRouteChooserDialog اضافه کرد:
    • هنگام کشف ارائه دهندگان مسیر رسانه ، یک صفحه بارگیری را نشان می دهد.
    • شامل یک نماد نوع دستگاه برای شناسایی آسان دستگاه است.
    • مسیرها را با توجه به فرکانس استفاده در برنامه فعلی مرتب می کند.
    • از حالت چشم انداز پشتیبانی می کند.
  • ویژگی های زیر را به کلاس MediaRouteControllerDialog اضافه کرد:
    • ریخته گری صفحه را تشخیص می دهد و توضیحات مناسب را ارائه می دهد.
    • از اندازه های مختلف هنری آلبوم و نسبت ابعاد پشتیبانی می کند و هنر را به صورت غیر همزمان بار می کند.
    • به طور خودکار رنگ محتوا را بر اساس رنگ اصلی برنامه انتخاب می کند.
    • طرح گفتگو را بر اساس فضای صفحه موجود در دستگاه تنظیم می کند.
    • از حالت چشم انداز پشتیبانی می کند.
تغییرات برای کتابخانه پالت V7:
  • روش setRegion() را برای پشتیبانی از استخراج رنگ از یک منطقه خاص از یک شیء Bitmap اضافه کرد.
تغییرات برای کتابخانه RecyClerview V7:
  • برای سفارشی سازی بهتر یک API انیمیشن بهبود یافته به کلاس ItemAnimator اضافه شد:
    • تغییر انیمیشن ها دیگر دو نسخه از شیء ViewHolder را اجرا نمی کنند ، که انیمیشن های محتوای مورد را امکان پذیر می کند. همچنین ، شیء ItemAnimator تصمیم می گیرد که آیا می خواهد از همان شیء ViewHolder استفاده کند یا یک مورد جدید ایجاد کند.
    • API ضبط اطلاعات جدید به کلاس ItemAnimator انعطاف پذیری برای جمع آوری داده ها در نقطه صحیح در چرخه عمر طرح می دهد. این اطلاعات بعداً به تماسهای با هم منتقل می شود.
  • یک برنامه انتقال آسان برای این تغییر API با همبستگی عقب مانده ارائه شده است:
    • اگر قبلاً کلاس ItemAnimator را گسترش داده اید ، می توانید کلاس پایه خود را به SimpleItemAnimator تغییر دهید و کد شما باید مانند گذشته کار کند. کلاس SimpleItemAnimator با بسته بندی API جدید ، API قدیمی را فراهم می کند.
    • برخی از روش ها از کلاس ItemAnimator حذف شدند. کد زیر دیگر کامپایل نخواهد شد:
    • کاتلین

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      جاوا

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      می توانید آن را جایگزین کنید:

      کاتلین

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false
      

      جاوا

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
تغییرات برای کتابخانه پشتیبانی V7 ، V14 و V17 :
  • API های حذف شده برای کنترل گفتگوی EditText .
تغییرات برای کتابخانه پشتیبانی Leanback V17:
  • نسخه ای از کلاس GuidedStepFragment را برای کتابخانه پشتیبانی اضافه کرد ( android.support.v4.app.Fragment را گسترش می دهد) و انیمیشن ها و انتقال را بهبود می بخشد.
  • کلاس GuidedStepFragment را به روز کرد تا بتواند در بالای محتوای موجود قرار گیرد.
  • توانایی حاشیه نویسی انواع مختلف تکمیل جستجو را به کلاس SearchFragment اضافه کرد.
  • پشتیبانی از انتقال اسلاید مبهم به کلاس VerticalGridFragment اضافه شد.
تغییرات برای کتابخانه پشتیبانی طراحی:
  • پشتیبانی از شمارش شخصیت اضافه شده به ویجت TextInputLayout .
  • با اضافه کردن ثابت SCROLL_FLAG_SNAP پشتیبانی از لبه های لبه اضافه شده به کلاس AppBarLayout اضافه شده است. هنگامی که پیمایش به پایان می رسد ، اگر نمای فقط تا حدی قابل مشاهده باشد ، منظره به نزدیک است و به نزدیکترین لبه آن می چرخد.
  • پشتیبانی از دیدگاه های سفارشی به کلاس NavigationView با استفاده از app:actionLayout Attribute یا MenuItemCompat.setActionView() .
تغییرات برای برگه های سفارشی از کتابخانه پشتیبانی می کند:
  • روش enableUrlBarHiding() را به کلاس CustomTabsIntent اضافه کرد. این امکان را به مشتری می دهد که آیا نوار URL باید به طور خودکار در پیمایش به پایین مخفی شود.
  • روش setActionButton() به کلاس CustomTabsSession اضافه کرد. این امکان را به مشتری می دهد تا نماد را برای یک دکمه اقدام سفارشی در یک برگه سفارشی که قبلاً راه اندازی شده است ، تغییر دهد.
  • ثابت های TAB_SHOWN و TAB_HIDDEN را به عنوان رویدادهای جدید برای روش onNavigationEvent کلاس CustomTabsCallback اضافه کرد.

ویرایش 23.0.1

سپتامبر 2015

تغییرات برای کتابخانه پشتیبانی اولویت V7 و V14 :
  • طرح های طراحی مواد و پرونده های سبک را اضافه کرد. ( شماره 183376 )
تغییرات برای کتابخانه AppCompat V7:
  • با محدود کردن استفاده از لایه های سخت افزاری به Android 4.1 (سطح API 16) و بالاتر ، مشکلات تصادف ثابت برای کلاس Fragment شده است. ( شماره 183896 )
  • مسئله ای را برطرف کرد که دکمه های سخت افزاری کار نمی کردند وقتی که یک فعالیت کلاس Toolbar را با استفاده از روش setSupportActionBar() به عنوان ActionBar عمل کند. ( شماره 183334 )
  • کلاس AppCompatDialogFragment را به روز کرد ، بنابراین دیگر Windows feature must be requested before adding content . ( شماره 183186 )
تغییرات برای کتابخانه پشتیبانی طراحی:
  • کلاس AppBarLayout را برطرف کرد تا اکنون پس از چرخش به درستی ترسیم شود. ( شماره 183109 )
  • کلاس TabLayout برطرف کرد ، بنابراین وقتی کاربر پس از کش رفتن کلیک می کند ، اکنون به درستی رفتار می کند. ( شماره 183123 )
تغییرات برای برگه های سفارشی از کتابخانه پشتیبانی می کند:
  • برای پشتیبانی از نسخه ، مقدار minSdkVersion را از 16 به 15 کاهش داد.
  • راهی برای تولید یک CustomTabsSessionToken از یک هدف اضافه کرد.

تجدید نظر 23

آگوست 2015

کتابخانه های پشتیبانی جدید اضافه شده:

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

تجدید نظر 22.2.1

جولای 2015

تغییرات برای کتابخانه پشتیبانی طراحی:
  • روشهای hide() و show() را به کلاس FloatingActionButton برای شروع برنامه ریزی انیمیشن ها اضافه کرده است.
  • برای نشان دادن یک میان وعده تا زمانی که برکنار نشود یا یک میان وعده دیگر نشان داده شود ، ثابت LENGTH_INDEFINITE به کلاس Snackbar اضافه کنید. همچنین ، روشهای setActionTextColor(int) و setActionTextColor(ColorStateList) را اضافه کرد.
  • روش getSelectedTabPosition() را برای بازیابی برگه انتخاب شده در حال حاضر به کلاس TabLayout اضافه کرد.
  • یک API کاملاً مسلط برای کلاس android.support.v7.app.NotificationCompat.MediaStyle برای زنجیره روش ارائه داد.
  • روشهای راحتی اضافه شده به RecyclerView برای درج دسته از موارد.

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

ویرایش 22.2.0

می 2015

کتابخانه پشتیبانی طراحی اضافه شده:
  • اضافه شده TextInputLayout برای نشان دادن اشاره و خطای EditText به عنوان برچسب های شناور.
  • FloatingActionButton برای اجرای یک اقدام اصلی در رابط خود به عنوان یک دکمه اقدام شناور ، پشتیبانی از اندازه پیش فرض یا کوچک.
  • Snackbar اضافه شده برای ارائه بازخورد سبک وزن با یک عمل اختیاری در یک اسنکبار متحرک.
  • برای اجرای زبانه های ثابت و پیمایش شده و همچنین ادغام آسان با ViewPager اضافه شده TabLayout .
  • NavigationView برای اجرای محتوای کشو ناوبری ، از جمله امکان تورم موارد منو از طریق منبع منو اضافه شده است.
  • اضافه شده CoordinatorLayout اضافه شده ، یک طرح هدف کلی ، برای وابستگی به ساختمان بین نماهای خواهر و برادر و اجازه واکنش های پیمایش آسان بین اجزای از طریق CoordinatorLayout.Behavior استفاده می شود. بسیاری از مؤلفه های کتابخانه طراحی به فرزند داشتن یک CoordinatorLayout متکی هستند.
  • اضافه شده AppBarLayout ، یک ظرف برای Toolbar و سایر نماهای (مانند TabLayout ) برای واکنش به حوادث پیمایش با پیمایش از صفحه ، در واکنش به یک پیمایش رو به پایین ، یا سقوط/عدم استفاده از قبل از پیمایش/روی صفحه نمایش قابل مشاهده است.
  • برای کنترل نحوه سقوط Toolbar CollapsingToolbarLayout اضافه شده است. یک نوار ابزار ممکن است توسط: پین کردن اجزای به بالای صفحه در حالی که فرو می ریزد ، فروپاشی کند ، و در هنگام مشاهده جزئی از نمای ، پتانسیل های قطعاتی از جمله ImageView را معرفی می کند ، یا اضافه کردن یک رنگ scrim محتوا را اضافه می کند.
تغییرات برای کتابخانه پشتیبانی V4:
تغییرات برای کتابخانه AppCompat V7 :

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

تجدید نظر 22.1.0

آوریل 2015

تغییرات برای کتابخانه حاشیه نویسی:
  • کتابخانه حاشیه نویسی را برای ارائه پشتیبانی از بازرسی های پیشرفته کد اضافه کرد. حاشیه نویسی ها به عنوان برچسب های ابرداده اضافه می شوند که شما به متغیرها ، پارامترها و مقادیر بازگشت برای بازرسی مقادیر بازگشت روش ، پارامترهای تصویب شده و متغیرها و زمینه های محلی متصل می شوید.
تغییرات برای کتابخانه پشتیبانی V4:
  • کلاس ColorUtils را برای ارائه مجموعه ای از روش های ابزار مرتبط با رنگ اضافه کرد.
  • روشهای unwrap() و wrap() را به کلاس DrawableCompat اضافه کرده و به شما امکان می دهد از setTint() ، setTintList() و setTintMode() در تمام دستگاه های API 4 یا بالاتر استفاده کنید.
  • کلاس TraceCompat را برای نوشتن رویدادهای ردیابی به بافر ردیابی سیستم اضافه کرد ، که می تواند با استفاده از ابزار Systrace جمع آوری و تجسم شود.
  • برای ایجاد ساختار داده های آرایه عدد صحیح دایره ای ، کلاس CircularIntArray را اضافه کرد.
  • روشهای clear() ، removeFromStart() و روشهای removeFromEnd() به کلاس CircularArray منتقل کنید. همچنین ، روشهای موجود در این کلاس را غیر نهایی تغییر داد.
  • برای دسترسی به داده ها در کلاس InputDeviceCompat InputDeviceCompat به عنوان یک کلاس یاور اضافه کرد.
  • برای دسترسی به داده ها در کلاس LayoutInflaterCompat کلاس LayoutInflaterCompat را به عنوان یک کلاس یاور اضافه کرد و رابط LayoutInflaterFactory را اضافه کرد.
  • کلاس ها ، روش ها و رابط های اضافه شده برای پشتیبانی از پیمایش تو در تو.
    • کلاسهای یاور تو در NestedScrollingChildHelper در تو در تو در تو در تو در تو در NestedScrollingParentHelper در تو در تو تو در تو تو در تو تو در تو تو در تو تو در تو در تو در تو در تو تو در تو توخالی است.
    • رابط NestedScrollingChild اضافه شده است که توسط زیر کلاسهای View اجرا می شود.
    • برای پشتیبانی از عملیات ScrollingView و ارائه API های مرتبط با پیمایش ، رابط های NestedScrollingParent تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در توهین و ارائه برنامه های پیمایش انجام شده است.
    • روش getNestedScrollAxes() را به کلاس ViewGroupCompat اضافه کرد.
    • روشهای اضافه شده به کلاس ViewParentCompat برای پشتیبانی از پیمایش تو در تو.
    • کلاس NestedScrollView را برای حمایت از والدین و کودک پیمایشی تو در تو در نسخه های جدید و قدیمی اندروید اضافه کرد.
  • روش ها و ثابت های اضافه شده به کلاس MotionEventCompat برای دریافت مقادیر محور و منبع رویداد.
  • کلاس AccessibilityNodeInfoCompat را به روز کرد تا روش هایی را برای خطاها ، بی اعتبار بودن محتوا و برچسب ها اضافه کند.
  • کلاسهای درون یابی زیر را برای انیمیشن اضافه کنید: FastOutLinearInInterpolator ، FastOutSlowInInterpolator ، LinearOutSlowInInterpolator ، LinearOutSlowInInterpolator و PathInterpolatorCompat .
  • کلاس Space را برای ایجاد شکاف بین مؤلفه ها در چیدمان های هدف کلی اضافه کرد. این کلاس در کتابخانه GridLayout مستهلک می شود.
  • برای دسترسی به ویژگی ها در یک TextView ، کلاس TextViewCompat را اضافه کرد.
  • یک پارامتر جابجایی به روش onPull() در کلاس EdgeEffectCompat اضافه کرد.
تغییرات برای کتابخانه AppCompat V7 :
تغییرات برای کتابخانه Leanback V17 :
تغییرات برای کتابخانه RecyClerview V7 :
  • کلاسهای SortedList اضافه شده برای نمایش موارد در یک لیست لیست و ارائه اطلاع رسانی در مورد تغییرات در لیست.
  • کلاس SortedListAdapterCallback را اضافه کرد که می تواند یک لیست مرتب شده را به کلاس RecyclerView.Adapter .
تغییرات برای کتابخانه Renderscript V8 :
  • کلاس ScriptIntrinsicHistogram را برای استفاده به عنوان یک فیلتر هیستوگرام اضافه کرد.
  • کلاس ScriptIntrinsicResize را برای انجام تغییر اندازه یک تخصیص 2D اضافه کرد.

تجدید نظر 22

مارس 2015

تغییرات برای کتابخانه پشتیبانی V4:
  • روش getDrawable() را به روز کرد تا یک شیء قابل ترسیم را برای یک شناسه منبع خاص ، تراکم صفحه و موضوع بازگرداند.
  • روش setImportantForAccessibility() اضافه شده است تا بتوانید مشخص کنید که آیا یک دیدگاه باید باعث ایجاد حوادث دسترسی شود.
  • روش getStatusBarBackgroundDrawable() را اضافه کرد تا بتوانید پس زمینه نوار وضعیت را قابل ترسیم کنید.
  • روشهای اضافه شده به کلاس NotificationCompat.CarExtender.UnreadConversation کلاس بنابراین برنامه های پیام رسانی خودکار Android می توانند داده های اعلان اضافی را بازیابی کنند.
  • روش getProgressCircleDiameter() را برای بازگشت قطر یک طرح دایره اضافه کرد.
  • رنگ نوار وضعیت پیش فرض DrawerLayout را به colorPrimaryDark تغییر داد.
تغییرات برای کتابخانه AppCompat V7 :
تغییرات برای کتابخانه Leanback V17 :
  • روشهای getRecycledPoolSize() و setRecycledPoolSize() را اضافه کرد تا اندازه استخر بازیافت شده سفارشی را فراهم کند.
  • برای پشتیبانی از محتوای بسته بندی شده برای نمادهای عنوان ، ویژگی WRAP_CONTENT را به تنظیمات عرض چیدمان اضافه کرد.
  • تعریف شده R.transition در XML برای بهبود به روزرسانی های انتقال.
  • پشتیبانی از طرح های راست به چپ را فعال کرد.
  • نمایشنامه و مکث رسانه های کلیدی را به کلاس PlaybackOverlayFragment اضافه کرد.
  • انتقال وارد و بازگشت به کلاس BrowseFragment و کلاس DetailsFragment را اضافه کرد.
  • روش replace() را برای جایگزینی موارد در آرایه آداپتور شی اضافه کرد.
تغییرات برای کتابخانه V7 Mediarouter :
  • نمادهای بازیگران Google را برای استفاده از سبک طراحی مواد به روز کرد.
  • تمام نمادهای مورد استفاده در گفتگوی MediaRouter را برای استفاده از سبک طراحی مواد به روز کرد.
تغییرات برای کتابخانه RecyClerview V7 :

ویرایش 21.0.3

دسامبر 2014

Changes for v4 support library:

Revision 21.0.2

نوامبر 2014

Changes for v4 support library:
Changes for v7 appcompat library :
  • Added the PopupMenu constructor to support new popup menus.
  • Added support for a Collapse icon description in the Toolbar class.
  • Updated the SearchView widget to support displaying the commitIcon .
  • Removed the buttonGravity attribute from the Toolbar class.
Changes for v7 cardview library :
Changes for v7 recyclerview library :
Changes for v17 leanback library :
  • Added support to generate v4 code fragments.
  • Changed the secondary text color on CardView .

ویرایش 21.0.1

نوامبر 2014

Added multidex support library to support multiple Dalvik Executable (DEX) files for multi-dex file support prior to Android 5.0.

ویرایش 21

اکتبر 2014

Changes for v4 support library:
  • Added support for Fragment transitions for devices running Android 5.0 (API level 21). Be aware that transitions have no effect on devices running Android 4.4 and lower.
  • Added DocumentFile to ease the transition from File while working with document trees. However, this class demands more processing overhead compared to the platform's DocumentsContract API added in Android 4.4 (API level 19). So you should switch to using DocumentsContract when running on Android 4.4 and higher.
Changes for v7 appcompat library :
  • Added support for material design user interfaces.
  • Added Toolbar , which generalizes the functionality of ActionBar for use within app layouts.
  • Updated ActionBarDrawerToggle , which contains the menu-to-arrow animation
  • Updated common user interface widgets to allow tinting via theme attributes when running on pre-Android 5.0 devices
  • Added SwitchCompat , a backport of the Switch widget that was added in Android 4.0 (API level 14).
New v7 cardview library :
  • Added the CardView widget, which provides a material design-compatible implementation for displaying data items.
New v7 recyclerview library :
  • Added the RecyclerView widget, which provides a flexible list view for providing a limited window into a large data set.
New v7 palette library :
  • Added Palette class, which lets you extract prominent colors from an image.
New v17 leanback library :

ویرایش 20

جولای 2014

Changes for v4 support library:

Revision 19.1.0

مارس 2014

Changes for v4 support library:
  • Added the SwipeRefreshLayout class, which enables users to refresh the contents of a view with a vertical swipe gesture.
  • Fixed accessibility issues with navigation drawers.
Changes for v7 appcompat library:
  • Fixed background issues with the action bar.

ویرایش 19.0.1

دسامبر 2013

Changes for v4 support library:
Changes for v7 mediarouter library:
Changes for v8 renderscript library
  • Added error propagation for the RenderScript thunking layer.

Revision 19

اکتبر 2013

Changes for v4 support library:
Changes for v7 mediarouter library:
  • Added support for media playback queuing, setting HTTP header values and media playback duration.
  • Added explicit start, get, and end session actions for explicitly managing media playback sessions with media router.

Revision 18

جولای 2013

Changes for v4 support library:
  • رابط کاربری
    • Added BidiFormatter for handling text strings that combine right to left and left to right-formatted text.
    • Modified ViewPager to better handle cases where the pager has a measured width of zero in the initial layout processing.
    • Modified DrawerLayout and SlidingPaneLayout to not throw exceptions for measurement while the project code is being edited.
  • قابلیت دسترسی
  • رسانه ها
    • Added TransportMediator helper class to manage media transport control, such as play, pause, skip and other media actions.
    • Added DisplayManagerCompat for managing display output to one or more device displays.
  • تغییرات دیگر
New v7 appcompat library:
  • Added ActionBar to allow implementation of the action bar user interface design pattern back to Android 2.1 (API level 7) and higher. Use of this class requires that you implement your activity by extending the new ActionBarActivity class.
New v7 mediarouter library:

Added a new mediarouter library that provides support for the Google Cast developer preview . The v7 mediarouter library APIs provide a means of controlling the routing of media channels and streams from the current device to external screens, speakers, and other destination devices, with compatibility back to Android 2.1 (API level 7). See V7 mediarouter library for more information.

The v7 mediarouter library APIs introduced in Support Library r18 are subject to change in later revisions of the Support Library. At this time, we recommend using the library only in connection with the Google Cast developer preview .

ویرایش 13

می 2013

Changes for v4 support library:
New v7 gridlayout library:
  • Added GridLayout to provide support for the GridLayout layout object.
  • Added android.support.v7.widget.Space which can be used to create blank areas within a GridLayout layout object.

Revision 12

فوریه 2013

Changes for v4 support library:
  • Improved interaction behavior for ViewPager .
  • Fixed a bug that could cause ViewPager to select the wrong page.
  • Fixed use of removeView() method during layout for ViewPager .
  • Fixed issue with SearchViewCompat where using the back button to dismiss does not clear the search text. This fix only applies to host API levels 14 and higher.

Revision 11

نوامبر 2012

Changes for v4 support library:

ویرایش 10

آگوست 2012

Changes for v4 support library:
  • Added support for notification features introduced in Android 4.1 (API level 16) with additions to NotificationCompat .

ویرایش 9

ژوئن 2012

Changes for v4 support library:

ویرایش 8

آوریل 2012

Changes for v4 support library:
  • Fixed intent flags for PendingIntent objects generated by TaskStackBuilder .
  • Removed unused attributes from the gridlayout library projects to make sure the library can be built with API level 7 and higher.
  • Added .classpath and .project files for the gridlayout library project.

ویرایش 7

مارس 2012

Changes for v4 support library:
  • Added ShareCompat , which provides helper classes for sending and receiving content for social sharing applications, including new metadata for attributing shared data to the source app. This class also provides compatible integration with the new ShareActionProvider in Android 4.0.
  • Added NavUtils and TaskStackBuilder to provide support for implementing the Android Design guidelines for navigation. These additions include a way to implement the action bar's Up button across versions. For an example implementation of this pattern, see the AppNavigation sample in ( <em><sdk></em>/samples/<em><platform></em>/AppNavigation ).
  • Added NotificationCompat.Builder to provide a compatibility implementation of Android 3.0's Notification.Builder helper class for creating standardized system notifications.

ویرایش 6

دسامبر 2011

Note: Reference for support library APIs are now available with the framework references, for example: android.support.v4.app .

Changes for v4 support library:
  • Changes to ViewPager:
    • Added extra decorative view support for ViewPager . Decorative views may be supplied as child views of a pager in XML layout.
    • Added PagerAdapter.getPageTitle() to supply title strings for pages, which defaults to no title for each page.
    • Added PagerTitleStrip , a non-interactive title strip, that can be added as a child of ViewPager. Developers can supply text appearance and color, as well as layout sizing and gravity information.
    • Updated PagerAdapter methods to take ViewGroup objects, rather than View to avoid class casting in adapter implementations.
    • Updated ViewPager to use Launcher-style fling behavior.
    • Bug fixes for user interface interaction and test automation.
  • Support for Fragments:
  • Support for Accessibility APIs:

تجدید نظر 5

دسامبر 2011

Changes for v4 support library:

ویرایش 4

اکتبر 2011

Changes for v4 support library:
  • Added EdgeEffectCompat to support EdgeEffect .
  • Added LocalBroadcastManager to allow applications to easily register for and receive intents within a single application without broadcasting them globally.
  • Added support in ViewCompat to check for and set overscroll modes for View s on Android 2.3 and later.
  • Changes to Fragment APIs:
    • Added new APIs to control the visibility of new menus.
    • Added custom animation APIs.
    • Added APIs in FragmentActivity to retain custom, non-configuration instance data.
    • رفع اشکال مختلف
  • Fixed a Loader bug that caused issues in canceling AsyncTask s when running on Froyo and older versions of the platform. The support code now uses its own version of AsyncTask to keep the same behavior on all platform versions.

ویرایش 3

جولای 2011

Changes for v4 support library:
  • Adds support for Fragment.SavedState
  • Adds MotionEventCompat to support newer MotionEvent APIs
  • Adds VelocityTrackerCompat to support a newer VelocityTracker APIs
  • Adds ViewConfigurationCompat to support a newer ViewConfiguration APIs
  • All new APIs (available only in the support library) that allow you to create UIs with horizontal paging, allowing users to swipe left and right between content views. Classes to support this include:
    • ViewPager : A ViewGroup that manages the layout for the child views, which the user can swipe between.
    • PagerAdapter : An adapter that populates the ViewPager with the views that represent each page.
    • FragmentPagerAdapter : An extension of PagerAdapter for flipping between fragments.
    • FragmentStatePagerAdapter : An extension of PagerAdapter for flipping between fragments that uses the library's support for Fragment.SavedState .
New v13 support library:
  • Includes the FragmentPagerAdapter and FragmentStatePagerAdapter to support the horizontal paging.

    These are exactly the same as the APIs added to the v4 support library, but rely on other platform components in Android 3.2. Use this library instead of v4 if you're developing for Android 3.2 and higher (all other APIs in the v4 library are already available with API level 13).

تجدید نظر 2

می 2011

Changes for v4 library:

تجدید نظر 1

مارس 2011

Initial release with the v4 library.