این صفحه جزئیاتی درباره نسخههای قدیمیتر بسته «کتابخانه پشتیبانی» ارائه میدهد. برای جدیدترین نسخههای «کتابخانه پشتیبانی»، به نسخههای اخیر «کتابخانه پشتیبانی» مراجعه کنید.
بازبینی 26.0.0 نسخه بتای 2
(ژوئن ۲۰۱۷)
لطفاً توجه داشته باشید که نسخه ۲-beta ۰.۰.۲۶ یک نسخه پیشانتشار است. سطح API آن ممکن است تغییر کند و لزوماً شامل ویژگیها یا رفع اشکالات از جدیدترین نسخههای پایدار «کتابخانه پشتیبانی» نمیشود.
مهم: کتابخانههای پشتیبانی اکنون ازطریق مخزن Maven در Google دردسترس است. نیازی نیست مخزن پشتیبانی را از «مدیر کیت توسعه نرمافزار» بارگیری کنید. برای اطلاعات بیشتر، راهاندازی کتابخانه پشتیبانی را ببینید.
میاناهای برنامهسازی کاربردی جدید
- کلاس جدید
JobIntentService، برای کمک به توسعهدهندگان در زمانبندی وظایف بهگونهای که با محدودیتهای اجرای پسزمینهای جدید Android O مطابقت داشته باشد.
تفاوتهای API
رفع اشکالها
- حذف کیت توسعه نرمافزار Android O باعث ازدست رفتن حروف کج در TextViews میشود
- استثنای اشارهگر تهی هنگام اتصال به MediaBrowserServiceCompat
- TextInputLayout باید خوانایاریها را در onProvideAutofillStructure() تنظیم کند
- سرریز پشته هنگام استفاده از اندازه خودکار TextView در O
بازبینی ۲۶.۰.۰ نسخه بتای ۱
(مه ۲۰۱۷)
لطفاً توجه داشته باشید که 26.0.0-beta1 نسخه پیشانتشار است. سطح API آن ممکن است تغییر کند و لزوماً شامل ویژگیها یا رفع اشکالات از جدیدترین نسخههای پایدار «کتابخانه پشتیبانی» نمیشود.
مهم: کتابخانههای پشتیبانی اکنون ازطریق مخزن Maven در Google دردسترس است. نیازی نیست مخزن پشتیبانی را از «مدیر کیت توسعه نرمافزار» بارگیری کنید. برای اطلاعات بیشتر، راهاندازی کتابخانه پشتیبانی را ببینید.
تغییرات مهم
-
FragmentActivity.setSupportMediaController()وFragmentActivity.getSupportMediaController()برداشته شدند. لطفاً از روشهای جدیدMediaControllerCompat.setMediaController()وMediaControllerCompat.getMediaController()ایستا استفاده کنید. - اکنون
BottomNavigationViewonNavigationItemReselected()را فرا میخواند وقتی که موردی ازقبل انتخابشده انتخاب میشود، بهجای فراخواندنonNavigationItemSelected(). - اکنون همه نمونههای روش
findViewById()بهجایView، مقدار<T extends View> Tرا برمیگردانند. این تغییر پیامدهای زیر را دارد:- این کار ممکن است باعث شود کد موجود اکنون نوع برگشتی مبهم داشته باشد،
برای مثال اگر هم
someMethod(View)و همsomeMethod(TextView)وجود داشته باشد که نتیجه تماس باfindViewById()را میگیرد. - هنگام استفاده از زبان منبع Java 8، اگر نوع برگشتی محدود نشده باشد (برای مثال،
assertNotNull(findViewById(...)).someViewMethod()))، این کار نیاز به تبدیل صریح بهViewدارد. - جایگزینیهای روشهای غیرنهایی
findViewById()(برای مثال،Activity.findViewById()) باید نوع برگشتیشان بهروز شود.
- این کار ممکن است باعث شود کد موجود اکنون نوع برگشتی مبهم داشته باشد،
برای مثال اگر هم
میاناهای برنامهسازی کاربردی جدید
-
FragmentManagerوFragmentروشی برایisStateSaved()دارند که به شما امکان میدهد بدون ازدست دادن وضعیت، پرسوجو کنید که آیا تراکنش مجاز خواهد بود یا نه. این ویژگی بهویژه برای بررسی هنگام مدیریت رویدادonClick()قبلاز اجرای هرگونه تراکنش مفید است. - حرکت مسیر در
AnimatedVectorDrawableCompatپشتیبانی میشود. حرکت مسیر به یک پویانمای شیء اجازه میدهد دو ویژگی را بهطور همزمان براساس یک مسیر تغییر دهد؛ مسیر بهعنوانandroid:pathDataدر XML پویانما مشخص میشود. - پویانمایی
مبتنی بر فیزیک:
-
FlingAnimationجدید که از پویانمایی با سرعت اولیه پشتیبانی میکند و بهآرامی سرعت آن کاهش مییابد. - زیرکلاسهای
DynamicAnimationاز پویانمایی ویژگی سفارشی برای هر شیء پشتیبانی میکنند. - اکنون هم
SpringAnimationو همFlingAnimationمیتوانند مقدار شناور را بدون نیاز بهViewیاObjectمرتبط با آن پویانمایی کنند.
برای اطلاعات بیشتر، صفحههای پیشنمایش پویانمایی فنری و پویانمایی پرتابی را ببینید.
-
-
پشتیبانی از «قلم»
در زبان نشانهگذاری توسعهپذیر:
-
ResourcesCompat.getFontاجازه میدهد منابع قلم—ازجمله XML خانواده قلم—که ممکن است باTextView.setTypeface()استفاده شود بار شود. - هنگام استفاده از AppCompat، TextView از مشخص کردن منبع قلم یا
خانواده قلم XML ازطریق ویژگی
android:fontFamilyXML پشتیبانی میکند. - از خانواده قلم XML برای ایجاد خانوادههای قلم با سبک و وزن
متفاوت استفاده کنید. (اگر از کلاسهای کتابخانه پشتیبانی برای انجام این کار استفاده میکنید، از
مشخصههای
app:و همچنین مشخصههایandroid:استفاده کنید.)
-
- قلمهای
قابلبارگیری:
-
FontsContractCompatجدید که به شما امکان میدهد بهجای دستهبندی کردن قلمها در برنامهتان، قلمها را از ارائهدهنده قلم درخواست کنید. - قلمها را میتوان در XML نیز درخواست کرد و در چیدمانها استفاده کرد.
-
-
سازگاری اموجی
کتابخانه:
-
EmojiCompatمیتواندCharSequenceدادهشده را پردازش کند وEmojiSpansرا اضافه کند. -
EmojiTextViewو ابزارکهای دیگر برای نمایش اموجی. -
FontRequestEmojiCompatConfigبرای درخواست قلم اموجی از ارائهدهنده قلم.
-
-
تغییر اندازه خودکار
TextView:
- روشهای جدید در
TextViewCompatو همچنین مشخصههای XML برای کنترل اندازه خودکار درTextView.
- روشهای جدید در
- کنترلهای بازپخش Leanback با پشتیبانی از جستجو:
-
-
PlaybackTransportRowPresenterجدیدی که کنترلهای بازپخش را با «نوار لغزنده» ارائه میکند. PlaybackTransportControlGlueجدیدی که باPlaybackTransportRowPresenterکار میکند و از جستجو پشتیبانی میکند.- کلاس پایه جدید
PlaybackSeekDataProviderبرای برنامه تا ریزعکسهای جستجو را بهPlaybackTransportControlGlueارائه دهد.
-
- «انبار داده اولویتها»:
-
PreferenceDataStoreاکنون به شما امکان میدهد ذخیرهسازی اولویتهای خودتان را پیادهسازی کنید، که با روشهای جدید درPreferenceوPreferenceManagerتنظیم میشود.
-
مشکلات شناختهشده
- ادغام سازگاری «قلمها و اموجیهای قابلبارگیری» با «خدمات Google Play» فقط در «خدمات Google Play» نسخه ۱۱ و بالاتر کار میکند که درحالحاضر ازطریق برنامه بتا «خدمات Google Play» دردسترس است.
رفع اشکالها
-
MediaBrowserCompat.search()API کار نمیکند (مشکل AOSP 262170) -
ViewCompat.postInvalidateOnAnimation()استثنا قائل میشود (AOSP مشکل ۸۰۱۴۶) -
onActivityCreated()برای تکهکدها در «فعالیت» ازهمپاشیدهشده فراخواند -
RecyclerView.isComputingLayout()باید درطول پیشبارگیری درست برگرداند -
وقتی گذار
Fadeقطع و معکوس میشود،Viewپویانمایی را از ابتدا شروع میکند. (اصلاح از چارچوب Android منتقل شده است.) -
Transition.Fadeآلفای اولیهViewرا نادیده میگیرد (مشکل AOSP 221820)
بازبینی 26.0.0 Alpha 1
(مارس ۲۰۱۷)
لطفاً توجه داشته باشید که 26.0.0-alpha1 نسخه پیشانتشار است. سطح API آن ممکن است تغییر کند و لزوماً شامل ویژگیها یا رفع اشکالات از جدیدترین نسخههای پایدار «کتابخانه پشتیبانی» نمیشود.
تغییرات مهم
توجه: حداقل نسخه کیت توسعه نرمافزار به ۱۴ افزایش یافته است. درنتیجه، بسیاری از «میاناهای برنامهسازی کاربردی» که فقط برای سازگاری با «میانای برنامهسازی کاربردی» < 14 وجود داشتند منسوخ شدهاند. کاربران این میاناهای برنامهسازی کاربردی باید به معادلهای چارچوب خود که در صفحه مرجع هر میانای برنامهسازی کاربردی منسوخشده ذکر شده است منتقل شوند.
- واحد support-percent منسوخ شده است. کاربران این واحد باید به ابزارک جدید ConstraintLayout که بهعنوان آرتیفکت جداگانهای در «مدیر کیت توسعه نرمافزار» ارائه میشود انتقال دهند.
- واحد support-fragment دیگر به واحد support-media-compat وابسته نیست.
میاناهای برنامهسازی کاربردی جدید
کلاسها، روشها، و ثابتهای جدید زیادی اضافه شده است تا از میاناهای برنامهسازی کاربردی پلاتفرم که در «پیشنمایش O» اضافه شده است پشتیبانی سازگار با نسخههای قدیمی ارائه شود.
IME_FLAG_NO_PERSONALIZED_LEARNING: «روشهای ورودی» میتوانند پرچمهای «بدون یادگیری» را برای برنامههایی که حالت خصوصی دارند، مثل مرورگرها، بشنوند. این ویژگی به «روشهای ورودی» کمک میکند متوجه شوند آیا برنامه در حالت خصوصی است یا نه، تا بتوانند عملکرد یادگیری یا تطبیقی خود را درحالیکه برنامه در این حالت است غیرفعال کنند.
برای مشاهده فهرست کامل تغییرات میانای برنامهسازی کاربردی بین نسخه 25.2.0 و 26.0.0-alpha1، گزارش تفاوتهای میانای برنامهسازی کاربردی کتابخانه پشتیبانی را ببینید.
رفع اشکالها
- در برخی موارد،
AutoTransitionپویانمایی ساده میتواند با «پرشهای» نما قطع شود. (مشکل AOSP 221816)
نسخه اصلاحی ۲۵.۴.۰
(ژوئن ۲۰۱۷)
مهم: کتابخانههای پشتیبانی اکنون ازطریق مخزن Maven در Google دردسترس است. نیازی نیست مخزن پشتیبانی را از «مدیر کیت توسعه نرمافزار» بارگیری کنید. برای اطلاعات بیشتر، راهاندازی کتابخانه پشتیبانی را ببینید.
تغییرات مهم
-
executePendingTransactions()،commitNow()،popBackStackImmediate()، و تماسهای تراکنش مشابه درطول تغییرات وضعیتFragmentManagerمجاز نیستند. اجرای مجدد تراکنشها ناامن است وFragmentManagerاکنون این را درطول تغییرات وضعیت خود اعمال میکند. - همزمان با انتشار این کتابخانه پشتیبانی، ما نیز
multidex
نسخه ۱.۰.۲ را منتشر میکنیم. این نسخه شامل تغییرات مهم زیر است:
- امکان چندفایلی کردن فایل APK ابزار دقیق را فراهم میکند.
- MultiDexTestRunner را منسوخ میکند (بهجای آن باید از AndroidJUnitRunner استفاده شود).
- محافظت بهتری دربرابر برخیاز استخراجهای بایگانی بد مدیریت برنامه ارائه میدهد.
- اشکالی را که میتوانست منجر به رها شدن فایلهای موقت شود برطرف میکند.
- وقتی در فرایند همزمان انجام شود، نصب سریعتری ارائه میدهد.
- اشکال نصب در API 19 و 20 را برطرف میکند.
میاناهای برنامهسازی کاربردی جدید و اصلاحشده
در AnimatedVectorDrawableCompat، از تغییر شکل مسیر و میانیابی مسیر پشتیبانی میشود. تغییر شکل مسیر
به شکلها اجازه میدهد از یک مسیر (مشخصشده بهعنوان
android:valueFrom) به مسیر دیگر (مشخصشده بهعنوان
android:valueTo) تغییر کنند تا جلوههای دیداری پیچیده و جذابی ارائه دهند. درونیابی مسیر به درونیابهای AnimatedVectorDrawableCompat اجازه میدهد
بهصورت مسیر (بهصورت android:pathData در
XML درونیاب مشخص شده است) مشخص شوند.
تفاوتهای API
مشکلات برطرفشده
- استثنای اشارهگر تهی هنگام اتصال به MediaBrowserServiceCompat
- میانای برنامهسازی کاربردی MediaBrowserCompat.search() کار نمیکند (مشکل AOSP 262170)
- فراخوانهای BrowseFragment onItemClicked در نسخه ۲۵.۳.۰ کار نمیکند
- NullPointerException (استثنای اشارهگر تهی) هنگام پیمایش به بالا و پایین در VerticalGridView در 25.3.1
- ClassCastException در SimpleArrayMap.allocArrays()
بازبینی ۲۵.۳.۱
(مارس ۲۰۱۷)
مشکلات برطرفشده
-
SwitchCompatبه حداقل نسخه کیت توسعه نرمافزار ۱۴ یا بالاتر نیاز دارد. (مشکل AOSP ۲۵۱۳۰۲) - پویانمایی مبتنی بر فیزیک
updateListenerاز قاب اول میگذرد. - پویانمایی برچسب
BottomNavigationViewخراب است.
بازبینی ۲۵.۳.۰
(مارس ۲۰۱۷)
تغییرات مهم
فراداده نسخه «کتابخانه پشتیبانی» هنگام ساختن از Gradle بهطور خودکار به
AndroidManifest.xml اضافه میشود که پیگیری نسخهها در ساختهای عمومی را سادهتر میکند. برای مثال:
<meta-data android:name="android.support.VERSION" android:value="25.3.0" />
منسوخسازیها
تعدادی از روشها و کلاسها در این نسخه منسوخ شدهاند. این «میاناهای برنامهسازی کاربردی» منسوخشده در نسخه بعدی برداشته خواهند شد و توسعهدهندگان باید از آنها به میاناهای جدید کوچ کنند. برای کسب اطلاعات بیشتر درباره نحوه انتقال از یک میانای برنامهسازی کاربردی خاص، به اسناد آن مراجعه کنید.
ExifInterface- روش بولی
getLatLong(float[])منسوخ شده است. درعوض، از روش جدیدgetLatLong()استفاده کنید، که هیچ آرگومانی نمیگیرد وdouble[]را برمیگرداند. mediacompat
PlaybackStateCompat.Builder.setErrorMessage(CharSequence)منسوخ شده است. بهجای آن، از روش جدیدsetErrorMessage(int, CharSequence)استفاده کنید که کد خطا و شرح اختیاری را ارسال میکند.EXTRA_SUGGESTION_KEYWORDSمنسوخ شده است. درعوض، از عملکرد جستجویMediaBrowserCompatاستفاده کنید.v7.recyclerview
نام LinearLayoutManager.getInitialItemPrefetchCount()بهLinearLayoutManager.getInitialPrefetchItemCount()تغییر کرد. نام قدیمی همچنان پشتیبانی میشود اما در نسخهٔ پخش بعدی برداشته خواهد شد.
میاناهای برنامهسازی کاربردی جدید و اصلاحشده
appcompat-v7- روش جدید
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean)پویانمایی نماد روشن/خاموش کشوی پیمایش را سادهتر غیرفعال میکند. customtabs- پشتیبانی از کانالهای پیام اضافه شد. برای جزئیات، به
CustomTabsService.requestPostMessageChannel()وCustomTabsService.postMessage()مرجع مراجعه کنید. dynamic-animation- کتابخانه پویانمایی جدید مبتنی بر فیزیک که مجموعهای از میاناهای برنامهسازی کاربردی را برای ساختن پویانماییهایی که بهصورت پویا به درونداد کاربر واکنش نشان میدهند ارائه میدهد.
leanback-v17- پشتیبانی از پسزمینههای اختلاف منظر اضافه شد. برای جزئیات، به
Parallaxمرجع مراجعه کنید. - ابزاره
TimePickerبرای انتخاب زمان در میانای تلویزیون اضافه شد. mediacompat- عملکرد جستجو اضافه شد. برای جزئیات، به
MediaBrowserCompat.search()وMediaBrowserServiceCompat.onSearch()مرجع مراجعه کنید. - پشتیبانی از حالتهای درهم و تکرار اضافه شد. برای جزئیات، به
MediaSessionCompat.setRepeatMode()وsetShuffleModeEnabled()مرجع مراجعه کنید.
مشکلات برطرفشده
-
StaggeredGridLayoutManagerIllegalArgumentExceptionرا پرتاب میکند (مشکل AOSP 230295) -
RecyclerViewواکشی اولیه بهدرستیRecyclerViewرا که پیوست شده است اما روی صفحه نیست مدیریت نمیکند -
LinearLayoutتوسط Robolectric شناسایی نشد - وقتی
Activityازبین میرود،onActivityCreated()بهطور نامناسب برای قطعات آن فراخوانده میشود - سازنده
AppCompatImageViewباعثArrayIndexOutOfBoundsExceptionمیشود - عملکرد ضعیف واسط کاربر در انتقال فعالیت
Call.Details
نسخه ۲۵.۲.۰
(فوریه ۲۰۱۷)
تغییرات مهم
مشکلات برطرفشده
- این نسخه پخش مشکل جدی mediarouter را برطرف میکند. در این مشکل، استفاده از دستگاه A2DP و میاناهای برنامهسازی کاربردی مسیریابی رسانه میتوانست باعث شود دستگاه پاسخگو نباشد و نیاز به بازراهاندازی داشته باشد.
- کلاس
FragmentManager.FragmentLifecycleCallbacksاکنون ایستا است.
مشکلات برطرفشده
- نمایش ارائه اسلاید با قرینهسازی صفحه باعث میشود دستگاه از Wi-Fi قطع شود
- دکمه رسانه برنامههای رسانهای را که در
setMediaButtonReceiver()ثبت نشده بودند بهدرستی مدیریت نمیکرد -
خطای
VectorDrawableبا منبع رشته (مشکل AOSP 232407) - اگر نوشتار با XML تنظیم شده باشد، نوشتار و نکتهپوشش
TextInputLayoutروی هم قرار میگیرند (مشکل AOSP 230171) - نشت حافظه در
MediaControllerCompat(مشکل AOSP ۲۳۱۴۴۱) -
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()خراب میشود - وقتی
RecyclerViewدرحال بازیافتن نگهدارندههای نما است ازکار میافتد (مشکل AOSP 225762) -
getAllowGeneratedReplies()بهاشتباه برای کنشهای داخلWearableExtenderمقدار نادرست برمیگرداند
بازبینی ۲۵.۱.۱
(ژانویه ۲۰۱۷)
مهم: اشکال شناختهشدهای در کلاس android.support.v7.media.MediaRouter
در نسخه بازبینی ۲۵.۱.۱ و ۲۵.۱.۰ «کتابخانه پشتیبانی» وجود دارد. اگر برنامه شما از
نسخه ۷ MediaRouter استفاده میکند،
باید به Support Library Revision 25.2.0
بهروزرسانی کنید،
که این اشکال را برطرف میکند.
تغییرات مهم
-
اکنون میتوان تراکنشهای تکهتکه را در داخل و بین تراکنشها بهینهسازی کرد. بهینهسازی کردن عملکرد تراکنشهای تکهتکه میتواند عملکردهایی را که لغو میشوند حذف کند. برای مثال، فرض کنید دو تراکنش با هم اجرا میشوند، یکی که قطعه A را اضافه میکند و دیگری که قطعه A را با قطعه B جایگزین میکند. در این مورد، ممکن است عملیات اول لغو شود و فقط تکه B اضافه شود. این یعنی قطعه A ممکن است چرخه زندگی ایجاد/تخریب را طی نکند.
یکی از عوارض جانبی این بهینهسازی این است که ممکن است تغییرات وضعیت تکهکدها خارج از ترتیب موردانتظار باشد. برای مثال، فرض کنید یک تراکنش تکهکد A را اضافه میکند، تراکنش دوم تکهکد B را اضافه میکند، سپس تراکنش سوم تکهکد A را برمیدارد. بدون بهینهسازی، قطعه B میتواند انتظار داشته باشد که درحین ایجاد شدن آن، قطعه A نیز وجود داشته باشد زیرا قطعه A پساز اضافه شدن قطعه B برداشته خواهد شد. با بهینهسازی، قطعه B نمیتواند مطمئن باشد که قطعه A درحین ایجاد B وجود خواهد داشت، زیرا ایجاد و ازبین رفتن قطعه A ممکن است با بهینهسازی برداشته شود.
این بهینهسازی بهطور پیشفرض غیرفعال است. برای فعال کردن بهینهسازی، با
FragmentTransaction.setAllowOptimization(true)تماس بگیرید. - اکنون تکهبرنامهها میتوانند انتقالها و پویانماییهایشان را تا زمانی که بااستفاده از
Fragment.postponeEnterTransition()وFragment.startPostponedEnterTransition()آماده شوند بهتعویق بیندازند. این API شبیه بهActivity.postponeEnterTransition()وActivity.startPostponedEnterTransition()است که با «گذار فعالیت» استفاده میشود.
مشکلات برطرفشده
-
MediaSessionCompatTestباIllegalArgumentExceptionناموفق بود -
DetailsFragment.installTitleView()در نسخه ۲۵.۱.۰ فراخوانی نشده است - تراکنش قطعه نما را پساز خروج حفظ میکند (مشکل AOSP 230679)
-
BottomNavigationViewبه فاصله نیاز دارد بین نماد و نوشتار مورد (مشکل AOSP 230653) - شنوندگان انتخابشده در
PlaybackFragmentجدید وPlaybackSupportFragmentوجود ندارند -
در شبیهساز، تمرکز
TextInputLayoutبهدرستی از کتابخانه پشتیبانی نسخه ۲۵.۱.۰ تغییر نمیکند (مشکل AOSP ۲۳۰۴۶۱) - نمیتوان منو
BottomNavigationViewرا جایگزین کرد (مشکل AOSP ۲۳۰۳۴۳) -
RecyclerViewباStaggeredGridLayoutManagerبا موارد تمامعرض ازکار میافتد (مشکل AOSP 230295) - خرابی در
MediaSessionCompatهنگام استفاده ازsetCallback(null) -
PlaybackGlueHostOldوPlaybackSupportGlueHostOldوقتی ردیف بازپخش تغییر میکند کاربران برگشتی را مطلع نمیکنند -
PlaybackOverlayFragmentمثال /testنمیتواند پخش را شروع کند -
RecyclerViewFocusRecoveryTestدر API 15 ناموفق است - ردیف «نماگرفتها» در بالای صفحه متمرکز میشود
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()در API 15 ازکار میافتد -
setActions()درonSubactionClicked()خراب است -
RecyclerViewهنگام بازیافت برخیاز نگهدارندههای نما سقوط میکند
بازبینی ۲۵.۱.۰
(دسامبر ۲۰۱۶)
مهم: اشکال شناختهشدهای در کلاس android.support.v7.media.MediaRouter
در نسخه بازبینی ۲۵.۱.۱ و ۲۵.۱.۰ «کتابخانه پشتیبانی» وجود دارد. اگر برنامه شما از
نسخه ۷ MediaRouter استفاده میکند،
باید به Support Library Revision 25.2.0
بهروزرسانی کنید،
که این اشکال را برطرف میکند.
تغییرات مهم
- کاربران ابزارکهای
RecyclerViewتودرتو (برای نمونه، فهرست پیمایش عمودی از فهرستهای پیمایش افقی) میتوانند با اشاره به مدیران چیدمان ابزارکهایRecyclerViewداخلی درباره تعداد مواردی که باید قبلاز پیمایش در صفحه آماده شوند، مزایای عملکرد قابلتوجهی دریافت کنند. تماسLinearLayoutManager.setInitialPrefetchItemCount(N)، که در آن N تعداد بازدیدهای نمایان برای هر مورد داخلی است. برای مثال، اگر فهرستهای افقی داخلی شما حداقل سه و نیم نمای مورد را در هر زمان نشان میدهد، میتوانید با فراخواندنLinearLayoutManager.setInitialPrefetchItemCount(4)عملکرد را بهبود دهید. انجام این کار بهRecyclerViewاجازه میدهد تا همه نماهای مربوطه را زودتر ایجاد کند، درحالیکهRecyclerViewبیرونی درحال پیمایش است، که این امر میزان لرزش درحین پیمایش را بهطور قابلتوجهی کاهش میدهد. -
FragmentActivity.setSupportMediaController()وFragmentActivity.getSupportMediaController()منسوخ شدهاند. لطفاً از روشهای جدیدMediaControllerCompat.setMediaController()وMediaControllerCompat.getMediaController()ایستا استفاده کنید. - وقتی مشتری ازطریق رنگآمیزی appcompat رنگ ابزارهای را مشخص میکند (برای مثال،
appcompat:buttonTint)، مشتری مسئول ارائه همه وضعیتهای لازم (مثل «غیرفعال»، «فشار دادهشده»، و غیره) است. این کار با نحوه مشخص شدن رنگهای ابزاره هنگام استفاده از رنگآمیزی چارچوب سازگار است.
میاناهای برنامهسازی کاربردی جدید و اصلاحشده
- کتابخانه پشتیبانی از ExifInterfaceاضافه شد. این کتابخانه پشتیبانی از خواندن اطلاعات Exif از فایلهای با قالب JPEG و raw و تنظیم اطلاعات Exif در فایلهای تصویر JPEG را ازهم جدا میکند.
-
Snackbarبرای اجازه دادن به برنامهها برای نمایش محتوای سفارشی بازسازی شده است.BaseTransientBottomBarکلاس پایه جدیدی است که رفتار عمومی لغزنده و پویانماییها را آشکار میکند. - بسته جدید leanback.media اضافه شد که حاوی کلاسهای کمکی برای ادغام پخشکنندههای رسانه در برنامههای Android TV است.
-
SeekBarPreferenceبا چیدمان و مشخصههای سفارشیسازیپذیر به کتابخانه پشتیبانی اولویت v7 اضافه شد. - کلاس
ArraySetبه کتابخانه پشتیبانی v4 اضافه شد. این کلاس با کلاس چارچوبArraySetکه با سطح میانای برنامهسازی کاربردی ۲۳ معرفی شد مطابقت دارد. -
RecyclerViewمورد RecyclerView بهبود پیشبارگیری:- واکشی اولیه
RecyclerViewتودرتو واکشی اولیه محتوا ازRecyclerViewدرRecyclerViewپیمایش دیگری را فعال میکند، با API برای کنترل میزان واکشی اولیه انجامشده: - میاناهای برنامهسازی کاربردی برای پیادهسازی اشیای سفارشی
LayoutManagerاضافه شد تا پیشدریافت درحین پیمایش و پرتاب فعال شود - بهبودهایی در پیشدریافت برای انجام حداکثر کار ایجاد/پیوند در زمان بین قابها
- واکشی اولیه
مشکلات برطرفشده
- تغییر وضعیت رؤیتپذیری گذرواژه در آزمونهای دسترسپذیری ناموفق بود.
- Appcompat در دستگاههای پیشاز L به
state_enabledاحترام نمیگذارد. - سازوکار بازیابی تمرکز به
RecyclerViewاضافه شد. این کار همچنین ازهمپاشیدگی تمرکز تکهکدهای پشتیبانی ترجیحی را هنگام استفاده از ناوبری DPAD مانند دستگاههای Android TV برطرف کرد. - Leanback: وقتی سرصفحهها غیرفعال و آداپتور خالی باشد، BrowseFragment ازکار میافتد.
- سازگاری برنامه:
AlertDialogخیلی پهن است. -
InputContentInfoCompatتماس میگیردrequestPermission()درحالیکه بایدreleasePermission()تماس بگیرد. -
MediaBrowserCompatخرابی. - وقتی رؤیتپذیری روی
GONEتنظیم شده باشد، CoordinatorLayout نماها را اندازهگیری/چیدمان میکند. -
AnimatedVectorDrawableCompatدر سطح API پایینتر از ۲۴ رنگآمیزی نشد - کتابخانه Leanback خطاهای ساختگی lint را راهاندازی میکند
- کتابخانه پالت باعث شد آزمایشها در همه سطوح API ناموفق باشد
-
RecyclerViewآزمایش در Leanback ناموفق بود - وقتی
RecyclerViewدرحال بازیافتن نگهدارندههای نما است، ازکار میافتد (مشکل AOSP ۲۲۵۷۶۲) -
Fragment.onDestroy()برای بخش در پشته برگشت فراخوانده نشد - وقتی
CollapsingToolbarLayoutجمع میشود، پرده نمایش رسم نمیشود -
CoordinatorLayout.offsetChildByInset()پرتاب میکندIllegalArgumentException -
RecyclerViewمورد درحال جدا شدن ازRecyclerViewداخلی است، از پیشدریافتهای آینده جلوگیری کنید -
RecyclerViewمورد پیوستشده نمیتواند پیشدریافت تودرتو شود - دادههای واکشی اولیه برای عناصر
RecyclerViewتودرتو درطول چیدمان اولیه دور ریخته میشود - اگر دو رویداد کشیدن
در یک موقعیت برسند، پیشواکشی
RecyclerViewناموفق است -
RecyclerViewباید بهصورت حدسی چیدمان کند درحالیکه RenderThread درحال پردازش است - منابع رنگ پیکربندیشده برای شب که به «کشیدنیها» تبدیل شدهاند همیشه بهدرستی از حافظه نهان «منابع» پاک نمیشوند
-
FloatingActionButton: تنظیم «فهرست رنگ پسزمینه» بهصورت برنامهنویسی بهدرستی کار نمیکند (مشکل AOSP ۲۲۷۴۲۸) TextInputLayout: حروف برای ErrorView تنظیم نمیشود (مشکل AOSP 227803)TextInputLayoutهمیشه به رنگ خطای روشن در زیر API 23 برمیگردد (مشکل AOSP 221992)- وقتی اشارهگر از روی آن برداشته میشود،
FloatingActionButtonفشرده نشان داده میشود
فهرست کامل رفع اشکالات عمومی در AOSP Issue Tracker دردسترس است.
منسوخسازیها
تعدادی از روشها و کلاسها در این نسخه منسوخ شدهاند. این میاناهای برنامهسازی کاربردی منسوخشده در نسخه آینده برداشته خواهند شد و توسعهدهندگان باید از آنها به میاناهای جدید مهاجرت کنند. برای کسب اطلاعات بیشتر درباره نحوه انتقال از یک میانای برنامهسازی کاربردی خاص، به مستندات آن مراجعه کنید.
-
android.support.design.widget -
android.support.v17.leanback.appBackgroundManager.getDefaultDimLayer()BackgroundManager.getDimLayer()BackgroundManager.setDimLayer()MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.getFragment()PlaybackControlGlue.getOnItemViewClickedListener()PlaybackControlGlue.onRowChanged()PlaybackControlGlue.pausePlayback()PlaybackControlGlue.skipToNext()PlaybackControlGlue.skipToPrevious()PlaybackControlGlue.startPlayback()PlaybackControlSupportGluePlaybackOverlayFragmentPlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget -
android.support.v4.appFragmentActivity.getSupportMediaController()FragmentActivity.setSupportMediaController()
بازبینی ۲۵.۰.۱
(نوامبر ۲۰۱۶)
مشکلات برطرفشده
- کلید تغییر وضعیت گذرواژه
TextInputLayoutاکنون بهطور پیشفرض غیرفعال است تا از بازنویسی غیرضروری عناصر کشیدنی پایانی مشخصشده توسط توسعهدهنده جلوگیری شود. ممکن است ازطریقpasswordToggleEnabledویژگی XML بهصورت دستی فعال شود. -
BottomNavigationViewمورد اکنون تکخطی است تا با مشخصات Material مطابقت داشته باشد. - اگر مدیر چیدمان تهی باشد،
RecyclerViewدرطول پیشواکشی ازکار میافتد. - بلندی
BottomNavigationViewاکنون بهدرستی تنظیم شده است. (مشکل AOSP 226182) BottomNavigationViewهنگام افزودن گزینههای منو بهصورت برنامهریزیشده ازکار میافتد. (مشکل AOSP 225731)- به
TextInputLayoutچپ+راست ترکیبپذیرهای مرکب اصلاح کنید. (مشکل AOSP 225836) - وقتی دارنده نمای
بازیافت میشود،
RecyclerViewازکار میافتد. (مشکل AOSP ۲۲۵۷۶۲) - Leanback: TalkBack اغلب کلمه «null» را در نماهای صفحه تقسیمشده میگوید.
RecyclerView: مشکلات پردازش در «استودیو Android». (مشکل AOSP 225753)- پساز اینکه
onNavigationItemSelected()مقدار نادرست برمیگرداند،BottomNavigationViewهمچنان مورد منو را بهعنوان انتخابشده نشان میدهد. (مشکل AOSP 225898) - ForwardingListener
NoSuchMethodErrorرا پرتاب میکند. (AOSP issue 225647) TextInputEditTextدر حالت استخراج «ویرایشگر روش ورودی» راهنمایی نشان نمیدهد. (مشکل AOSP 221880)
فهرست کامل رفع اشکالات عمومی در AOSP Issue Tracker دردسترس است.
بازبینی ۲۵.۰.۰
(اکتبر ۲۰۱۶)
تغییرات مهم
- سازنده
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جایگزین شود.
میاناهای برنامهسازی کاربردی جدید
-
کلاس
android.support.design.widget.BottomNavigationViewالگوی پیمایش پایین را از مشخصات Material Design پیادهسازی میکند. - بسته جدید
android.support.v13.view.inputmethodشامل کلاسهایی برای دسترسی به ویژگیهایandroid.view.inputmethod.InputConnectionمعرفیشده پساز سطح ۱۳ میانای برنامهسازی کاربردی است. -
کلاس
android.v7.widget.RecyclerView.DividerItemDecorationپیادهسازی پایه را برای تقسیمکنندههای عمودی یا افقی بین موارد ارائه میدهد. - سبکهای تزئینی جدید در
android.support.v7.app.NotificationCompat،DecoratedCustomViewStyleوDecoratedMediaCustomViewStyle، کلاسهای آینهای اضافهشده در میانای برنامهسازی کاربردی پلاتفرم ۲۴.
مشکلات برطرفشده
فهرست کامل رفع اشکالات عمومی در AOSP Issue Tracker دردسترس است.
بازبینی ۲۴.۲.۱
سپتامبر ۲۰۱۶
مشکلات برطرفشده:
-
FloatingActionButtonدیگر نمیتواند به فرزندان غیرمستقیمCoordinatorLayoutمتصل شود. (مشکل AOSP 220250) - تصویر داخل
CollapsingToolbarLayoutباfitsSystemWindows=trueبهدرستی مقیاسبندی نمیشود. (مشکل AOSP 220389) - وقتی
Snackbarنشان داده و بسته میشود،CoordinatorLayoutIndexOutOfBoundsExceptionرا پرتاب میکند. (مشکل AOSP ۲۲۰۷۶۲) TextInputLayoutنمیتواند رنگ نوشتار خطا را حل کند. (مشکل AOSP 220305)-
BatchedCallback.onMoved()باBatchedCallback.onInserted()تماس میگیرد. (مشکل AOSP ۲۲۰۳۰۹) -
TextInputLayoutجایگزین ترکیب چیدمانپذیر راست میشود. (مشکل AOSP ۲۲۰۷۲۸)
فهرست کامل رفع اشکالات عمومی در AOSP Issue Tracker دردسترس است.
بازبینی ۲۴.۲.۰
اوت ۲۰۱۶
نسخه ۲۴.۲.۰ شامل تغییرات زیر است:
- تقسیم کتابخانه پشتیبانی v4
- بهروزرسانیهای میانای برنامهسازی کاربردی
- تغییرات رفتار
- منسوخ شدنها
- رفع اشکالها
توجه: نسخه ۲۴.۲.۰ پشتیبانی از Android 2.2 (سطح میانای برنامهسازی کاربردی ۸) و نسخههای پایینتر را برمیدارد. کلاسها و روشهایی که فقط برای ارائه آن نسخههای سیستم وجود دارند اکنون بهعنوان منسوخ علامتگذاری شدهاند و دیگر نباید از آنها استفاده شود. این کلاسها و روشهای منسوخشده ممکن است در نسخهٔ پخش بعدی برداشته شوند.
تقسیم کتابخانه پشتیبانی v4
با این نسخه، کتابخانه پشتیبانی v4 به چندین واحد کوچکتر تقسیم شده است:
-
support-compat -
پوششهای سازگاری برای میاناهای برنامهسازی کاربردی چارچوب جدید، مانند
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، توصیه میکنیم فقط واحدهای خاصی را که برنامهتان نیاز دارد فهرست کنید.
بهروزرسانیهای میانای برنامهسازی کاربردی
- کاربرانی که از برگههای سفارشی استفاده میکنند میتوانند
کنترل کنند که «برنامههای فوری» باز شود یا نه. (توجه داشته باشید که «برنامههای فوری» هنوز
بهطور عمومی دردسترس نیستند.) برای فعال یا غیرفعال کردن «برنامههای فوری»، با
CustomTabsIntent.Builder.setInstantAppsEnabled()تماس بگیرید یاEXTRA_ENABLE_INSTANT_APPSرا مشخص کنید. بهطور پیشفرض، «زبانههای سفارشی» وقتی ویژگی «برنامههای فوری» دردسترس قرار گیرد، بهطور پیشفرض آن را فعال میکنند. TextInputLayoutاز تغییر وضعیت رؤیتپذیری گذرواژه از مشخصات طراحی سهبعدی پشتیبانی میکند.- بسته جدید
android.support.transitionچارچوب گذارها را به سطوح API 14 و بالاتر برمیگرداند. برای اطلاعات بیشتر، به مرجعandroid.support.transitionمراجعه کنید. - کتابخانه پشتیبانی «برگههای سفارشی»
پشتیبانی از استفاده از
RemoteViewsدر نوارابزار ثانویه را اضافه میکند. روشsetToolbarItem()فعلی اکنون منسوخ شده است. AppCompatResourcesامکان بار کردن<vector>(در سطح میانای برنامهسازی کاربردی ۹ و بالاتر) یا<animated-vector>(در سطح میانای برنامهسازی کاربردی ۱۱ و بالاتر) از شناسه منبع را بااستفاده از روش جدیدgetDrawable()اضافه میکند.-
CoordinatorLayoutاکنون از تعریف نماهای درونی و مشخص کردن اینکه نماهای دیگر باید از نماهای درونی اجتناب کنند پشتیبانی میکند. این کار به برنامهها امکان میدهد الگوهای رفتاری مشابه با روشی کهFloatingActionButtonاز مسیرSnackbarکنار میرود را تکرار کنند، اما برای هر فرزند نمای دلخواه. برای اطلاعات بیشتر، بهLayoutParams.insetEdgeوLayoutParams.dodgeInsetEdgesسند مرجع مراجعه کنید. - کلاس جدید
DiffUtilمیتواند تفاوت بین دو مجموعه را محاسبه کند و فهرستی از عملیاتهای بهروزرسانی را که برای مصرف توسطRecyclerView.Adapterمناسب است ارسال کند. -
RecyclerView.OnFlingListenerبرای پشتیبانی از رفتار سفارشی در پاسخ به پرتابها اضافه شده است. کلاسSnapHelperپیادهسازی خاصی برای چسباندن نمای فرزند ارائه میدهد، و کلاسLinearSnapHelperاین پیادهسازی را گسترش میدهد تا رفتار چسباندن با تراز مرکزی مشابهViewPagerرا ارائه دهد. - کتابخانه «زبانههای سفارشی» اکنون به مشتریان امکان میدهد با فراخوانی
CustomTabsIntent.setAlwaysUseBrowserUI()، واسط کاربر مرورگر استاندارد را بهجای واسط کاربر زبانههای سفارشی درخواست کنند. این رفتار در مواردی مفید است که مرورگر بهطور پیشفرض از میانای کاربری برگههای سفارشی استفاده میکند اما کاربر ترجیح میدهد از میانای کاربری مرورگر استاندارد استفاده کند.
تغییرات رفتار
- اگر از عملکرد روز/شب کتابخانه appcompat استفاده میکنید، سیستم
اکنون هرزمان که حالت روز/شب تغییر میکند (چه بهدلیل زمان روز، چه بهدلیل فراخوانی
AppCompatDelegate.setLocalNightMode())، فعالیتتان را بهطور خودکار بازسازی میکند. - اگر نوار وضعیت نیمهشفاف باشد،
Snackbarاکنون در پشت نوار پیمایش رسم میکند.
کتابخانه MediaRouter
دستگاههای بلوتوث دیگر بهعنوان مسیرهای رسانه فهرست نمیشوند. مسیریابی صدا به دستگاههای بلوتوث اکنون فقط در سطح سیستم Android کنترل میشود.
منسوخسازیها
کلاسها و روشهای منسوخشده در نسخهٔ پخش آتی برداشته خواهند شد. باید در اسرع وقت از این میاناهای برنامهسازی کاربردی به نسخههای بهروز انتقال دهید.
- چندین روش در کلاسهای زیر فقط برای 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()جایگزین شده است. - چندین کلاس انتزاعی منسوخ شدهاند و با
واسطهایی که معادلهای چارچوب آنها را دقیقتر منعکس میکنند جایگزین شدهاند.
AccessibilityStateChangeListenerCompatبا رابطAccessibilityManagerCompat.AccessibilityStateChangeListenerجایگزین شده است.OnCloseListenerCompatبا میانایSearchViewCompat.OnCloseListenerجایگزین شده است.OnQueryTextListenerCompatبا میانایSearchViewCompat.OnQueryTextListenerجایگزین شده است.
-
CustomTabsSession.setToolbarItem()منسوخ شده است و با مبتنی بر RemoteViewssetSecondaryToolbarViews()جایگزین شده است.
رفع اشکالها
مشکلات شناختهشده زیر با انتشار نسخه ۲۴.۲.۰ برطرف شده است:
- مطمئن شوید نشانگر
SwipeRefreshLayoutوقتیsetRefreshing(true)قبلاز اولین گذر اندازهگیری فراخوانده میشود نشان داده شود (AOSP مشکل ۷۷۷۱۲) - جلوگیری از پرش
TabLayoutهنگام تغییر صفحه (AOSP مشکل ۱۸۰۴۵۴) - هنگام لغو آمادهسازی
ClassNotFoundExceptionSavedStateدر سطح API 11 و پایینتر (مشکل AOSP 196430) از آن اجتناب کنید
فهرست کامل رفع اشکالات عمومی در AOSP Issue Tracker دردسترس است.
بازبینی ۲۴.۱.۱
ژوئیه ۲۰۱۶
مشکلات برطرفشده:
- مشکلی را در نسخه ۲۴.۱.۰ برطرف میکند که بر شناسههای منبع همرسانیشده بین کتابخانههای پشتیبانی تأثیر میگذاشت. این مشکل باعث میشد برنامههایی که به کتابخانههای پشتیبانی دارای منابع (مثل طراحی و appcompat) وابسته بودند با مشکلاتی ناشی از عدم تطابق شناسه منبع مواجه شوند.
بازبینی ۲۴.۱.۰
ژوئیه ۲۰۱۶
- تغییرات مربوط به پشتیبانی از نسخه ۴ کتابخانه:
-
NotificationCompat.Action.WearableExtenderروشهای جدیدgetHintDisplayActionInline()وsetHintDisplayActionInline()برای سازگاری با پیشنمایش Android Wear 2.0 دارد. این روشها به برنامه اجازه میدهد مشخص کند که کنشی باید بهصورت درونخطی با اعلان نمایش داده شود.- اگر اشاره به
FragmentTransactionکه هنوز ثبت نشده است اضافه شده باشد، تماس باFragment.setUserVisbileHint()دیگر باعث نمیشود که تکهکد شروع شود. این بر کاربرانFragmentPagerAdapterکهsetUserVisbileHint()را ملغی میکنند و پساز فراخوانیsuper.setUserVisibleHint()، وضعیت چرخه حیات خاصی را برای قطعه درنظر میگیرند تأثیر میگذارد. برای اطلاعات بیشتر، صفحه مرجع اسنادFragment.setUserVisbileHint()را ببینید.
مشکلات برطرفشده:
- TabLayout.setCustomView(null) منجر به NullPointerException میشود (AOSP مسئله ۲۱۴۷۵۳)
- TabLayout زبانههای سفارشی را بهاشتباه برجسته میکند (مشکل AOSP شماره ۲۱۴۳۱۶)
- AppCompatTextHelper از آرایه مشخصه مرتبنشده بهدرستی استفاده میکند (مشکل AOSP شماره ۲۱۴۳۶۶)
- هنگام استفاده از «پوشش زمینهای» سفارشی، نمیتوان به VectorDrawable از XML محتوی drawable ارجاع داد (مشکل AOSP ۲۱۴۰۵۵)
- ViewDragHelper.saveLastMotion() ArrayIndexOutOfBoundsException را ایجاد میکند (AOSP مسئله ۲۱۲۹۴۵)
- وقتی از setState(STATE_EXPANDED) استفاده میکنید، BottomSheetBehavior تا ارتفاع محتوای قدیمی ازهم باز میشود (مشکل AOSP 213660)
- CollapsingToolbarLayout کودکان سنجاقشدنی با حاشیههای بالا یا پایین را مدیریت نمیکند (مشکل AOSP 213001)
- عنوان مرور Leanback از تراز کردن راستبهچپ پشتیبانی نمیکند (مشکل AOSP 213461)
- PagerTabStrip بهدلیل نبودن شرح ارثی ناپدید میشود (مشکل AOSP 213359)
- هنگام استفاده از «بولی» برای تنظیم پرچمهای شرطی، پیوند داده NullPointerException را پرتاب میکند (مشکل AOSP 191841)
- CoordinatorLayout به setFitsSystemWindows() پاسخ نمیدهد (مشکل AOSP 212720)
- وقتی وضعیت اولیه تنظیم میشود، BottomSheetBehavior ازکار میافتد (مشکل AOSP 203114)
- اگر شاخص صفحه مقدار بزرگی داشته باشد، ViewPager از صفحات رد میشود (مشکل AOSP 211734)
- BottomSheetBehavior با چیدمانهای پویا کار نمیکند (مشکل AOSP 205226)
بازبینی ۲۴.۰.۰
ژوئن ۲۰۱۶
- تغییرات مربوط به پشتیبانی از نسخه ۴ کتابخانه:
-
-
Fragment.commitNow()برای تعهد همزمان اضافه شد -
NotificationCompat.MessagingStyleبرای مکالمههای چندطرفه اضافه شد -
NotificationManagerCompat.areNotificationsEnabled()وgetImportance()را اضافه کرد -
MediaSessionCompatاکنون عملکردMediaSessionرا منعکس میکند و دیگر بهطور خودکار باsetMediaButtonReceiver()تماس نمیگیرد
توجه: فقط
MediaBrowserServiceCompatدر نسخه ۲۴.۰.۰ با نسخههای آینده Android فراتر از API 24 سازگار است. اگر از نسخههای قبلی استفاده میکنید، برای اطمینان از سازگاری، به این نسخه بهروز کنید. -
- تغییرات برای کتابخانه appcompat نسخه ۷:
-
- پشتیبانی از ارجاع به اشیا
ColorStateListزمینهای از XML اضافه شد
- پشتیبانی از ارجاع به اشیا
- تغییرات پشتیبانی طراحی کتابخانه:
-
- بهبود در
AppBarLayoutمدیریت ارتفاع بااستفاده ازStateListAnimator
- بهبود در
- تغییرات کتابخانه v17 Leanback:
-
-
OnboardingFragmentبرای ارائه خوشامدگویی اولین اجرا و جریان راهاندازی اضافه شد
-
- تغییرات برای زبانه سفارشی:
-
- پشتیبانی برای ارائه سلسلهمراتبی
RemoteViewsبرای نوارابزار فرعی اضافه شد -
CustomTabsClient.connectAndInitialize()برای گرم کردن یکخطی اضافه شد
- پشتیبانی برای ارائه سلسلهمراتبی
بازبینی ۲۳.۴.۰
مه ۲۰۱۶
- تغییرات مربوط به پشتیبانی از نسخه ۴ کتابخانه:
-
- مشکلی که باعث میشد تکهها به ترتیب اشتباه اضافه شوند برطرف شد. (Issue 206901)
- مشکلی که باعث میشد نوار برنامه پساز پیمایش خارج از صفحه ترسیم نشود برطرف شد. (مشکل ۱۷۸۰۳۷)
- تغییرات برای کتابخانه appcompat نسخه ۷:
-
- روش
AppCompatDelegate.setCompatVectorFromResourcesEnabled()برای فعال کردن مجدد استفاده از داراییهای برداری درDrawableContainerاشیا در دستگاههای دارای Android 4.4 (میانای برنامه کاربردی سطح ۱۹) و پایینتر اضافه شد. برای کسب اطلاعات بیشتر، AppCompat v23.2 — Age of the vectors را ببینید. - مشکلی در میانای برنامهسازی کاربردی ۲۳ برطرف شد که باعث میشد
AppCompatDelegate.setDefaultNightMode()در میانای برنامهسازی کاربردی ۲۳ منابع درست را بار نکند. (مشکل 206573) - مشکلی که میتوانست باعث
NullPointerExceptionشود برطرف شد. (مشکل ۲۰۷۶۳۸)
- روش
- تغییرات پشتیبانی طراحی کتابخانه:
-
- رفع مشکلی که در آن
TextInputLayoutرنگ خطای پسازsetErrorEnabled(false)در سطح میانای برنامهسازی کاربردی ۲۱ تا ۲۲ را پاک نمیکرد (مشکل ۲۰۲۸۲۹) - رفع مشکلی که باعث میشد وقتی پویانماییها غیرفعال هستند،
FloatingActionButtonبرنگردد. (مشکل 206416) - مشکل عملکرد چسباندن در
AppBarLayoutهنگام استفاده با پرچمهای پیمایشبرطرف شد. (شماره ۲۰۷۳۹۸)scroll|enterAlways|enterAlwaysCollapsed|snap
- رفع مشکلی که در آن
- تغییرات برای کتابخانه Vector Drawable:
-
- اشکالی که باعث میشد
VectorDrawableCompatدرTextViewدر سطح میانای برنامهسازی کاربردی ۲۳ بهدرستی پرداز نشود برطرف شد. (مشکل 206227)
- اشکالی که باعث میشد
بازبینی ۲۳.۳.۰
آوریل ۲۰۱۶
- تغییرات مربوط به پشتیبانی از نسخه ۴ کتابخانه:
-
-
AppLaunchCheckerاضافه شد تا به پیگیری نحوه راهاندازی برنامهتان توسط کاربر در گذشته کمک کند. hasStartedFromLauncher()به شما اطلاع میدهد که آیا کاربر قبلاً برنامه شما را از صفحه اصلی راهاندازی کرده است یا اینکه برنامه فقط ازطریق روشهای دیگر (برای مثال، برای مشاهده نشانیهای وب خاص) شروع شده است. - نشت حافظه در
MediaBrowserServiceCompat.mConnectionsبرطرف شد. (مشکل ۲۰۵۲۲۰) - مشکلی که در آن
ViewPagerحاشیههای صفحه را هنگام ورق زدن صفحه درنظر نمیگرفت برطرف شد. (مشکل ۲۰۳۸۱۶) -
Fragment.onRequestPermissionsResult()اکنون به تکههای کودک تحویل داده میشود.
-
- تغییرات برای کتابخانه appcompat نسخه ۷:
-
- مشکلی در
AppCompatSpinnerبرطرف شد که میتوانست باعث نمایش چندین بالاپر شود. (مشکل ۲۰۵۰۵۲) - مشکلی در نحوه رنگآمیزی دکمههای بدون حاشیه برطرف شد. (مشکل 202967)
- مشکل سازگاری بین
AppCompatDialogFragmentوAlertDialogبرطرف شد. (Issue 204805) - تغییرات
TintResourcesکه باعث مشکلات حافظه و پیکربندی میشد برگردانده شد. (مشکل ۲۰۵۲۳۶)
- مشکلی در
- تغییرات برای کتابخانه mediarouter نسخه ۷:
-
- عملکرد لغزنده میزان صدا
MediaRouteControllerDialogثابت شد. (Issue 202299)
- عملکرد لغزنده میزان صدا
- تغییرات برای کتابخانه اولویت v7:
-
- مشکلی که در آن
PreferenceFragmentCompatدرصورت مشخص شدنdividerHeightازکار میافتاد برطرف شد. (Issue 204778)
- مشکلی که در آن
- تغییرات برای کتابخانه v7 recyclerview:
-
- اشکالی برطرف شد که در آن اگر محدوده موارد نمایان کوچک میشد،
RecyclerViewکاربردهای برگشتی پیمایش را فراخوانی نمیکرد. (Issue 200987) - اشکالی برطرف شد که در آن اگر
RecyclerViewدر چیدمان خطی بود، وزندار بود، و حاوی تصویر بود، منجمد میشد. (مشکل ۲۰۳۲۷۶) - ازکارافتادگی در
OrientationHelper.getStartAfterPadding()رفع شد. (Issue 180521) - خرابی مربوط به استفاده از
android:nestedScrollingEnabledبرطرف شد. (Issue 197932)
- اشکالی برطرف شد که در آن اگر محدوده موارد نمایان کوچک میشد،
- تغییرات پشتیبانی طراحی کتابخانه:
-
- اشکالی که در آن برگههای زیرین پنهان رویدادهای لمسی را مدیریت میکردند برطرف شد. (مشکل ۲۰۳۶۵۴)
- مشکل چیدمان
BottomSheetBehaviorوقتیfitsSystemWindowsدرست است برطرف شد. (Issue 203057) - مشکل دسترسپذیری
Snackbarبرطرف شد. (مسئله ۱۸۲۱۴۵) - ازکارافتادن برنامه در
Snackbarتند کشیدن برطرف شد. (Issue 203924) - اشکالی را در
AppBarLayoutباenterAlwaysبرطرف کردیم. (مشکل ۲۰۳۶۶۱) - اشکالی برطرف شد که در آن
TextInputLayoutبهطور غیرضروری فیلتر رنگ پسزمینه شیءEditTextرا پاک میکرد. (مشکل ۲۰۳۳۵۷)
بازبینی ۲۳.۲.۱
مارس ۲۰۱۶
- تغییرات مربوط به پشتیبانی از نسخه ۴ کتابخانه:
-
- استثنایی در
DrawableCompat.wrap()وLayerDrawableدر سطوح API 17 تا 19 برطرف شد. (Issue 201817) -
ArrayIndexOutOfBoundsExceptionدرViewDragHelper.shouldInterceptTouchEvent()اصلاح شد. (مشکل ۱۸۲۲۶۲) - اشکالی در
ViewPagerمربوط به محاسبه پیمایش برای تغییرات اندازه رفع شد. - وقتی
DrawerLayout.removeDrawerListener()بدونDrawerLayout.DrawerListenerتنظیمشده فراخوانده میشود،NullPointerExceptionرفع شد. (Issue 202478) - اشکالی که باعث میشد
ViewPagerپارامترهایAccessibilityEventرا بهدرستی هنگام پیمایش تنظیم نکند برطرف شد. - مشکلی که باعث ایجاد تأخیر در چرخش دستگاه هنگام استفاده از
Drawable.wrap()میشد برطرف شد. (شماره ۲۰۲۹۲۴)
- استثنایی در
- تغییرات برای کتابخانه appcompat نسخه ۷:
-
- وابستگی به داراییهای برداری را برگرداندیم تا توسعهدهندگانی که از کتابخانه
appcompat استفاده میکنند مجبور نباشند از
VectorDrawableو پرچمهای ساخت مرتبط با آن استفاده کنند. - مشکل سازگاری «حالت شب» با سطح میانای برنامهسازی کاربردی ۲۳ برطرف شد. (صدور ۲۰۱۹۱۰)
- مشکل سازگاری با
SwitchCompatو سطح میانای برنامهسازی کاربردی ۷ برطرف شد. (مشکل ۲۰۱۹۴۲) - مشکل مربوط به انتشار مقادیر پیکربندی در اشیای «منابع» برطرف شد مشکل ۲۰۱۹۲۸
- مشکل سازگاری که در آن
android.support.v7.app.NotificationCompat.MediaStyleدکمه لغو در سطح API 21 و پایینتر نامرئی میشد برطرف شد. (Issue 202156) - خرابی سازگاری با
AppCompatSpinnerدر سطح API 21 و پایینتر برطرف شد. (Issue 202246) - مشکلی که باعث میشد سبک
app:textAllCaps = "false"کار نکند برطرف شد. (Issue 202117) - مشکل ازکارافتادن هنگام بازیابی
SearchViewبرطرف شد. (نسخه ۲۰۱۸۳۶) - رفع نشت حافظهای که هنگام رنگآمیزی منابع کشیدنی بااستفاده از AppCompat رخ میدهد. (Issue 202379)
- مشکلی در
KeyEventدر سطح API 11 و پایینتر برطرف شد. (Issue 202939)
- وابستگی به داراییهای برداری را برگرداندیم تا توسعهدهندگانی که از کتابخانه
appcompat استفاده میکنند مجبور نباشند از
- تغییرات برای کتابخانه v7 cardview:
-
- پشتیبانی از «حالت شب» برای
CardViewاضافه شد. (Issue 194497)
- پشتیبانی از «حالت شب» برای
- تغییرات برای کتابخانه v7 recyclerview:
-
- اشکالات مربوط به روشهای مختلف مشخصه اندازهگیری برطرف شد. (Issue 201856)
- دوره قرنطینه را که در آن
RecyclerViewتغییرات آداپتور را درحین محاسبه چیدمان یا پیمایش مجاز نمیداند کاهش داد. (نسخه 202046) - خرابی هنگام تماس با
notifyItemChanged()در موردی که خارج از دید است برطرف شد. (شماره 202136) - خرابیای که وقتی
RecyclerView.LayoutManagerنمایشی را در همان گذر اندازهگیری اضافه و حذف میکند برطرف شد. (Issue 193958)
- تغییرات برای کتابخانه mediarouter نسخه ۷:
-
- ازکارافتادن برنامه هنگام فراخواندن
MediaRouter.getInstance()در سطح API 17 برطرف شد. (مشکل ۱۸۰۶۵۴)
- ازکارافتادن برنامه هنگام فراخواندن
- تغییرات v17 کتابخانه Leanback:
-
- مشکلی در
GridLayout.onAddFocusables()برطرف شد که باعث میشد مورد اشتباه انتخاب شود. - مشکل ناپدید شدن کنشهای
GuidedStepFragmentپساز جمع شدن کنش برطرف شد.
- مشکلی در
- تغییرات پشتیبانی طراحی کتابخانه:
-
- ازکارافتادن
TabLayoutناشی از استفاده از استخر برگه برطرف شد. (Issue 201827) - اشکالی در
NavigationViewبرطرف شد که باعث میشد رنگ اشتباه انتخاب شود. (Issue 201951) - اشکالی که در آن
setBackgroundTintList()دیگر نمیتوانست رنگ پسزمینه را تغییر دهد برطرف شد. (Issue 201873) - مشکلی که باعث میشد
AppBarLayoutهنگام استفاده باandroid:fitsSystemWindows = “true”بهطور کامل از دید خارج نشود برطرف شد. (شماره ۲۰۱۸۲۲) - رفع مشکلی که در آن
BottomSheetDialogبازدیدهای محتوای کوتاه را بهدرستی نمایش نمیداد. (شماره ۲۰۱۷۹۳) - رفع مشکلی که باعث میشد
BottomSheetDialogFragmentهنگام تغییر محتوای داخل بهصورت پراکنده حرکت کند. (شماره ۲۰۲۱۲۵) - خرابی در شمارنده TextInputLayout برطرف شد پیوند
- ازکارافتادگیای که هنگام بازیابی وضعیت ذخیرهشده توسط
TextInputLayout.getCounterMaxLength()رخ میداد برطرف شد. (Issue 202375) ClassCastExceptionکه هنگام بازیابیCoordinatorLayoutبااستفاده از وضعیت ذخیرهشده نمای غیرCoordinatorLayoutرخ میداد برطرف شد.
- ازکارافتادن
- تغییرات برای VectorDrawableCompat:
-
- اشکالی که باعث میشد متغیر اشتباهی برای
android:tintModeخوانده شود برطرف شد. (نسخه 201907)
- اشکالی که باعث میشد متغیر اشتباهی برای
نسخه ۲۳.۲.۰
فوریه ۲۰۱۶
- تغییرات کتابخانه پشتیبانی v4:
-
-
MediaBrowserCompatبرای پشتیبانی ازMediaBrowserوMediaBrowserServiceCompatبرای پشتیبانی ازMediaBrowserServiceاضافه شد. این ویژگی هنگام اتصال سرویس پسزمینهای برنامه رسانهای با عناصر واسط کاربر، و یکپارچهسازی با Android Auto و Android Wear بدون نیاز به سطح میانای برنامهسازی کاربردی ۲۱ یا بالاتر مفید است. - اکنون سیستم
onActivityResult()را برایFragmentActivityتودرتو فرا میخواند.
-
- تغییرات برای کتابخانه v7 AppCompat:
-
- عملکرد «حالت شب» به سطح میانای برنامهسازی کاربردی ۱۴ و بالاتر اضافه شد. براساس زمان روز یا تنظیمات ویژه برنامه، بین زمینه روشن Material و زمینه تیره Material جابهجا شوید.
-
- زمینه روز و شب را میتوانید در اینجا پیدا کنید:
<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml AppCompatDelegate.setDefaultNightMode(): با ارسال یکی از ثابتهای زیر، حالت پیشفرض برنامه را تنظیم میکند:-
MODE_NIGHT_AUTOMODE_NIGHT_NOMODE_NIGHT_YESMODE_NIGHT_FOLLOW_SYSTEM
-
AppCompatDelegate.setLocalNightMode(): تنظیم حالت شب را برای عنصر برنامه محلی ملغی میکند. -
AppCompatDelegate.getDefaultNightMode(): حالت شب پیشفرض را برمیگرداند.
- زمینه روز و شب را میتوانید در اینجا پیدا کنید:
- تغییرات برای کتابخانه v7 mediarouter:
-
-
MediaRouteControllerDialogاکنون رنگهای زمینه سفارشی برنامه را بهدرستی اعمال میکند.
-
- تغییرات کتابخانه پشتیبانی طراحی:
-
- پشتیبانی از برگههای
پایین اضافه شد. افزایه تعاملی،
BottomSheetBehavior، به نمای کودکCoordinatorLayoutاجازه میدهد بهعنوان برگهای در پایین عمل کند. کلاس پایه،BottomSheetCallback، کاربرگهای زیرین را برای نظارت بر رویدادها ارائه میدهد.
- پشتیبانی از برگههای
پایین اضافه شد. افزایه تعاملی،
- تغییرات برای کتابخانه پشتیبانی از CustomTabs:
-
- اکنون Chrome Custom Tabs به برنامهها اجازه میدهد علاوهبر دکمه کنش بالای موجود، نوار پایینی با دکمههای کنش نیز اضافه کنند.
CustomTabsIntent.Builder.addToolBarItem(): دکمه کنش به برگه سفارشی اضافه میکند. میتوانید از این برای افزودن چند دکمه استفاده کنید.-
CustomTabsSession.setToolBarItem(): تصاویر مربوط به عناصر نوارابزار را بهروز میکند. این روش تنها درصورتی موفق خواهد بود که شناسه معتبری به آن داده شود و جلسه مرورگر در پیشزمینه باشد.
- کتابخانه پشتیبانی VectorDrawable اضافه شد:
-
- کلاسهای اضافهشده:
-
VectorDrawableCompatAnimatedVectorDrawableCompat
- پشتیبانی از داراییهای
VectorDrawableرا به برنامههایی که در سطح میانای برنامه کاربردی ۷ یا بالاتر اجرا میشوند اضافه میکند. داراییهایAnimatedVectorDrawableدر سطح میانای برنامهسازی کاربردی ۱۱ یا بالاتر نیز پشتیبانی میشوند. داراییهای برداری میتوانند بهطور قابلتوجهی کوچکتر از داراییهای تصویری باشند و با کاهش تعداد داراییهای موردنیاز برای پشتیبانی از صفحههای نمایش چندگانه دستگاه، به کاهش حجم برنامه کمک کنند. - این کتابخانه اکنون وابستگی کتابخانه v7 AppCompat است و به توسعهدهندگان و AppCompat اجازه میدهد
بهراحتی از داراییهای برداری استفاده کنند. برای استفاده از
VectorDrawableCompatدرImageButtonیاImageView، از مشخصهapp:srcCompatXML یا روشsetImageResource()استفاده کنید. - برای حفظ ارجاع به شناسههای مشخصه در سطح API 20 یا پایینتر، پرچم
apptزیر را به فایلbuild,gradleخود اضافه کنید: -
- اگر با «افزایه Android برای Gradle» نسخه ۱.۵.۰ یا پایینتر میسازید، موارد زیر را به فایل
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» نسخه ۲.۰.۰ یا بالاتر میسازید، موارد زیر را به فایل
build.gradleاضافه کنید: -
android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
- اگر با «افزایه Android برای Gradle» نسخه ۱.۵.۰ یا پایینتر میسازید، موارد زیر را به فایل
- تغییرات v17 Leanback Library:
-
- قابلیتهای جدیدی به
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 استفاده کنید.
- قابلیتهای جدیدی به
- تغییرات برای کتابخانه v7 RecyclerView:
-
-
RecyclerViewاکنون ویژگی موافقت اختیاری بهنام AutoMeasure دارد که بهRecyclerView.LayoutManagerاجازه میدهد بهراحتی محتوا را بپیچد یا مشخصات اندازهگیری مختلف ارائهشده توسط ولیRecyclerViewرا مدیریت کند. این از همه قابلیتهای پویانمایی موجود درRecyclerViewپشتیبانی میکند. -
- اگر
RecyclerView.LayoutManagerسفارشی دارید، برای شروع استفاده از AutoMeasure API جدید، باsetAutoMeasureEnabled(true)تماس بگیرید. همه اشیایRecyclerView.LayoutManagerداخلی بهطور پیشفرض اندازهگیری خودکار را فعال میکنند. -
RecyclerView.LayoutManagerدیگر برخیاز تنظیماتRecyclerView.LayoutParams، مثلMATCH_PARENTدر جهت پیمایش، را نادیده نمیگیرد.توجه: این محدودیتهای برداشتهشده ممکن است باعث رفتار غیرمنتظره در چیدمانهای شما شود. مطمئن شوید که پارامترهای چیدمان صحیح را مشخص کردهاید.
- اگر
- هنگام بهروزرسانی
RecyclerView.ViewHolderبا اطلاعات بار،DefaultItemAnimatorاکنون پویانماییهای تغییر را غیرفعال میکند. - اکنون میتوانید
ItemTouchHelperسرعت گریز را تغییر دهید تا حساسیت تند کشیدن را کنترل کنید. برای آسانتر یا سختتر کردن تند کشیدن،getSwipeEscapeVelocity(float defaultValue)را ملغی کنید وdefaultValueرا اصلاح کنید.
-
بازبینی ۲۳.۱.۱
نوامبر ۲۰۱۵
- تغییرات برای کتابخانه recyclerview v7:
-
- خرابیای که هنگام انجام کنش کشیدن برای بستن که کلاس ابزار
ItemTouchHelperارائه میدهد و سپس افزودن مورد رخ میداد برطرف شد. (Issue 190500)
- خرابیای که هنگام انجام کنش کشیدن برای بستن که کلاس ابزار
- تغییرات برای کتابخانه اولویت v7:
-
- مشکلی در استفاده از ProGuard برطرف شد. (مشکل ۱۸۳۲۶۱)
- تغییرات در کتابخانه پشتیبانی v17 Leanback:
-
- تعدادی از مشکلات داخلی در این کتابخانه برطرف شد.
- تغییرات کتابخانه پشتیبانی طراحی:
-
- روش
getHeaderViewبه کلاسNavigationViewاضافه شد. - مشکل پسزمینه شفاف برای شیء
FloatingActionButtonدر دستگاههای دارای Android 4.0 (سطح API 15) و پایینتر برطرف شد. (Issue 183315)
- روش
بازبینی ۲۳.۱.۰
اکتبر ۲۰۱۵
- تغییرات در کتابخانه پشتیبانی v4:
-
- پشتیبانی از میانای
OnScrollChangedListenerبه ابزارهNestedScrollViewاضافه شد. این تابع به شما امکان میدهد وقتی موقعیتهای X یا Y پیمایش تغییر میکند، تماس برگشتی دریافت کنید. - کلاس
MediaButtonReceiverاضافه شد تا کنترلهای بازپخش دریافتی را به سرویسی که کلاسMediaSessionCompatرا مدیریت میکند بازارسال کند. کلاسMediaSessionCompatسازندهای دارد که میتواند گیرنده دکمه رسانه را بهطور خودکار در مانیفست پیدا کند. دریافتکننده دکمه رسانه بخش مهمی برای مدیریت کنترلهای بازپخش از سختافزار یا کنترلهای بلوتوث است.
- پشتیبانی از میانای
- تغییرات برای کتابخانه سازگاری برنامه v7:
-
- ابزارههای
SeekbarوImageButtonطراحی مواد اضافه شد. - ابزاره
ImageViewبهروزرسانی شد تا از ویژگی سایهرنگ پشتیبانی کند. - ظاهر و احساس ابزاره
SwitchCompatبهروز شد.
- ابزارههای
- تغییرات مربوط به کتابخانه v7 mediarouter:
-
- ویژگیهای زیر به کلاس
MediaRouteChooserDialogاضافه شد: - هنگام شناسایی رسانندههای مسیر رسانه، صفحه بارگیری را نمایش میدهد.
- شامل نماد نوع دستگاه برای شناسایی آسانتر دستگاه است.
- مسیرها را براساس دفعات استفاده در برنامه کنونی مرتب میکند.
- از حالت افقی پشتیبانی میکند.
- ویژگیهای زیر به کلاس
MediaRouteControllerDialogاضافه شد: - پخش محتوای صفحه را تشخیص میدهد و شرح مناسبی ارائه میدهد.
- از اندازهها و نسبتهای ابعادی مختلف جلد آلبوم پشتیبانی میکند و جلد را بهصورت ناهمزمان بار میکند.
- رنگ محتوا را براساس رنگ اصلی برنامه بهطور خودکار انتخاب میکند.
- چیدمان کادر گفتگو را براساس فضای صفحه دردسترس در دستگاه تنظیم میکند.
- از حالت افقی پشتیبانی میکند.
- ویژگیهای زیر به کلاس
- تغییرات برای کتابخانه پالت v7:
-
- روش
setRegion()برای پشتیبانی از استخراج رنگ از ناحیه خاصی از شیءBitmapاضافه شد.
- روش
- تغییرات برای کتابخانه recyclerview v7:
-
- میانای برنامهسازی کاربردی پویانمایی بهبودیافتهای به کلاس
ItemAnimatorبرای سفارشیسازیهای بهتر اضافه شد: - پویانماییهای تغییر دیگر دو نسخه از شیء
ViewHolderرا اجباری نمیکند، که پویانماییهای محتوای مورد را فعال میکند. همچنین، شیءItemAnimatorتصمیم میگیرد که آیا میخواهد از همان شیءViewHolderمجدداً استفاده کند یا شیء جدیدی ایجاد کند. - API جدید ثبت اطلاعات به کلاس
ItemAnimatorانعطافپذیری میدهد تا دادهها را در نقطه صحیح چرخه حیات چیدمان جمعآوری کند. این اطلاعات بعداً به پسبرگهای پویانمایی منتقل میشود.
- طرح انتقالی آسانی برای این تغییر API ناسازگار با نسخههای قدیمی ارائه شده است:
- اگر قبلاً کلاس
ItemAnimatorرا گسترش دادهاید، میتوانید کلاس پایه را بهSimpleItemAnimatorتغییر دهید و کدتان باید مثل قبل کار کند. کلاسSimpleItemAnimatorبا بستهبندی میانای برنامهسازی کاربردی جدید، میانای برنامهسازی کاربردی قدیمی را ارائه میدهد. - برخیاز روشها از کلاس
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 کتابخانه پشتیبانی اولویت:
-
- میاناهای برنامهسازی کاربردی برای کنترل کردن
EditTextکادر گفتگو برداشته شد.
- میاناهای برنامهسازی کاربردی برای کنترل کردن
- تغییرات در کتابخانه پشتیبانی v17 Leanback:
-
- نسخهای از کلاس
GuidedStepFragmentبرای کتابخانه «پشتیبانی» اضافه شد (android.support.v4.app.Fragmentرا گسترش میدهد)، و پویانماییها و گذارها بهبود یافت. - کلاس
GuidedStepFragmentرا بهروزرسانی کردیم تا بتواند در بالای محتوای موجود قرار بگیرد. - امکان حاشیهنویسی انواع مختلف تکمیلهای جستجو به کلاس
SearchFragmentاضافه شد. - پشتیبانی از انتقال اسلاید پلکانی به کلاس
VerticalGridFragmentاضافه شد.
- نسخهای از کلاس
- تغییرات کتابخانه پشتیبانی طراحی:
-
- پشتیبانی
شمارش نویسه به ابزاره
TextInputLayoutاضافه شد. - با افزودن ثابت
SCROLL_FLAG_SNAP، پشتیبانی چسبیدن لبه به کلاسAppBarLayoutاضافه شد. وقتی پیمایش تمام میشود، اگر نما فقط تا حدی نمایان باشد، نما به نزدیکترین لبه خود میچسبد و پیمایش میشود. - بااستفاده از مشخصه
app:actionLayoutیا روشMenuItemCompat.setActionView()، پشتیبانی از نماهای سفارشی به کلاسNavigationViewاضافه شد.
- پشتیبانی
شمارش نویسه به ابزاره
- تغییرات برای کتابخانه پشتیبانی «زبانه سفارشی»:
-
- روش
enableUrlBarHiding()به کلاسCustomTabsIntentاضافه شد. به مشتری اجازه میدهد سفارشیسازی کند که آیا نوار نشانی باید بهطور خودکار در پیمایش بهپایین پنهان شود یا نه. - روش
setActionButton()به کلاسCustomTabsSessionاضافه شد. به مشتری اجازه میدهد نماد دکمه کنش سفارشی را در برگه سفارشی که قبلاً راهاندازی شده است تغییر دهد. - ثابتهای
TAB_SHOWNوTAB_HIDDENرا بهعنوان رویدادهای جدید برای روشonNavigationEventکلاسCustomTabsCallbackاضافه کرد.
- روش
بازبینی ۲۳.۰.۱
سپتامبر ۲۰۱۵
- تغییرات برای v7 و v14 کتابخانه پشتیبانی اولویت:
-
- فایلهای سبک و چیدمان طراحی مادی اضافه شد. (Issue 183376)
- تغییرات برای کتابخانه سازگاری برنامه v7:
-
- مشکلات ازکارافتادگی کلاس
Fragmentبا محدود کردن استفاده از لایههای سختافزاری به Android 4.1 (سطح API 16) و بالاتر برطرف شد. (مسئله ۱۸۳۸۹۶) - رفع مشکلی که باعث میشد وقتی فعالیتی کلاس
Toolbarرا برای عملکرد بهعنوانActionBarبااستفاده از روشsetSupportActionBar()تنظیم کرده بود، دکمههای سختافزاری کار نکند. (مسئله ۱۸۳۳۳۴) - کلاس
AppCompatDialogFragmentرا بهروزرسانی کردیم تا دیگر خطایWindows feature must be requested before adding contentرا ایجاد نکند. (Issue 183186)
- مشکلات ازکارافتادگی کلاس
- تغییرات کتابخانه پشتیبانی طراحی:
-
- کلاس
AppBarLayoutرا اصلاح کردیم تا اکنون پساز چرخش بهدرستی رسم شود. (Issue 183109) - کلاس
TabLayoutرا اصلاح کردیم تا اکنون وقتی کاربر پساز تند کشیدن کلیک میکند، درست عمل کند. (Issue 183123)
- کلاس
- تغییرات برای کتابخانه پشتیبانی «زبانه سفارشی»:
-
- مقدار
minSdkVersionاز ۱۶ به ۱۵ برای پشتیبانی از نسخه کاهش یافت. - روشی برای تولید
CustomTabsSessionTokenاز یک هدف اضافه شد.
- مقدار
بازبینی ۲۳
اوت ۲۰۱۵
- کتابخانههای پشتیبانی جدید اضافه شد:
برای مشاهده فهرست کامل تغییرات «کتابخانه پشتیبانی»، گزارش تفاوتهای میانای برنامهسازی کاربردی «کتابخانه پشتیبانی» را ببینید.
بازبینی ۲۲.۲.۱
ژوئیه ۲۰۱۵
- تغییرات کتابخانه پشتیبانی طراحی:
-
- روشهای
hide()وshow()به کلاسFloatingActionButtonبرای راهاندازی برنامهریزیشده پویانماییها اضافه شد. - ثابت
LENGTH_INDEFINITEبه کلاسSnackbarبرای نمایش نوار تنقلات تا زمانی که بسته شود یا نوار تنقلات دیگری نمایش داده شود اضافه شد. همچنین، روشهایsetActionTextColor(int)وsetActionTextColor(ColorStateList)را اضافه کرد. - روش
getSelectedTabPosition()را به کلاسTabLayoutبرای بازیابی برگه انتخابشده کنونی اضافه کرد. - میانای برنامهسازی کاربردی کاملاً روان برای کلاس
android.support.v7.app.NotificationCompat.MediaStyleبرای زنجیره کردن روشها ارائه شد. - روشهای راحتی به
RecyclerViewبرای درج دستهای موارد اضافه شد.
- روشهای
برای مشاهده فهرست کامل تغییرات «کتابخانه پشتیبانی»، گزارش تفاوتهای میانای برنامهسازی کاربردی «کتابخانه پشتیبانی» را ببینید.
بازبینی ۲۲.۲.۰
مه ۲۰۱۵
- کتابخانه «پشتیبانی طراحی» اضافه شد:
-
-
TextInputLayoutبرای نمایش نوشتار راهنمایی و خطایEditTextبهعنوان برچسبهای شناور اضافه شد. -
FloatingActionButtonبرای پیادهسازی کنش اصلی در میانای شما بهعنوان دکمه کنش شناور اضافه شد، که از اندازههای پیشفرض یا کوچک پشتیبانی میکند. -
Snackbarبرای ارائه بازخورد سبک با کنش اختیاری در نوار اسنک پویانماییشده اضافه شد. -
TabLayoutبرای پیادهسازی زبانههای ثابت و پیمایشپذیر و همچنین یکپارچهسازی آسان باViewPagerاضافه شد. -
NavigationViewبرای پیادهسازی محتوای کشوی پیمایش اضافه شد، ازجمله امکان ازهم بازکردن گزینههای منو ازطریق منبع منو. -
CoordinatorLayout، چیدمانی با هدف کلی، اضافه شد که برای ایجاد وابستگی بین نمایهای همسطح و امکان واکنشهای پیمایشی آسان بین عناصر ازطریقCoordinatorLayout.Behaviorاستفاده میشود. بسیاری از عناصر «کتابخانه طراحی» به فرزندCoordinatorLayoutبودن متکی هستند. -
AppBarLayout، ظرفی برایToolbarو نماهای دیگر (مثلTabLayout) برای واکنش به رویدادهای پیمایش با پیمایش کردن در صفحه، نمایان شدن در واکنش به پیمایش بهپایین، یا جمع کردن/ازهم باز کردن قبلاز پیمایش کردن در صفحه/پیمایش کردن در صفحه اضافه شد. -
CollapsingToolbarLayoutبرای کنترل نحوه جمع شدنToolbarاضافه شد. نوارابزار ممکن است با: سنجاق کردن عناصر به بالای صفحه درحالیکه جمع میشود، معرفی پیمایش اختلاف منظر عناصر مثلImageView، یا افزودن رنگ پوشش محتوا وقتی نما بهصورت جزئی جمع میشود، جمع شود.
-
- تغییرات برای کتابخانه پشتیبانی v4:
-
- روشهای
getContentChangeTypes()وsetContentChangeTypes()و فیلدهای نوع تغییر مربوطه به کلاسAccessibilityEventCompatبرای مدیریت رویداد دسترسپذیری اضافه شد. - روشهای
getActiveQueueItemId()،getCustomActions()، وgetExtras()را با فیلدهای وضعیت مرتبط به کلاسPlaybackStateCompatبرای دریافت کنشهای سفارشی از صف پخش اضافه کرد. - روشهای
addCustomAction()،setActiveQueueItemId()، وsetExtras()را به کلاسPlaybackStateCompat.Builderبرای افزودن کنشهای سفارشی به وضعیت بازپخش اضافه کرد. - روشهای
fromCustomAction()وgetCustomAction()به کلاسPlaybackStateCompat.CustomActionبرای دریافت کنشهای سفارشی از صف اضافه شد. - روشهای
isAttachedToWindow()،offsetLeftAndRight()، وoffsetTopAndBottom()را به کلاسViewCompatبرای کار با نماها اضافه کرد. - روشهای
addOnPageChangeListener()،clearOnPageChangeListeners()، وremoveOnPageChangeListener()را به کلاسViewPagerبرای پاسخ دادن به تغییرات صفحه اضافه کرد.روش
ViewPager.setOnPageChangeListener()منسوخ شد. - روش
notifySubtreeAccessibilityStateChanged()به کلاسViewParentCompatبرای اطلاع دادن به والد نمای تغییر وضعیت دسترسپذیری یکی از فرزندانش اضافه شد. - روشهای
translationZ()،translationZBy()،z()، وzBy()را به کلاسViewPropertyAnimatorCompatبرای افزودن پویانمایی اضافه کرد.
- روشهای
- تغییرات کتابخانه سازگاری برنامه v7:
-
- روش
onWindowStartingSupportActionMode()به کلاسهایAppCompatActivity،AppCompatCallback، وAppCompatDialogبرای مدیریت حالتهای کنشی شروعشده از پنجره فعلی اضافه شد. - روشهای
isHandleNativeActionModesEnabled()وsetHandleNativeActionModesEnabled()به کلاسAppCompatDelegateبرای مدیریت حالتهای کنش بومی اضافه شد.
- روش
برای مشاهده فهرست کامل تغییرات «کتابخانه پشتیبانی»، گزارش تفاوتهای میانای برنامهسازی کاربردی «کتابخانه پشتیبانی» را ببینید.
نسخه ۲۲.۱.۰
آوریل ۲۰۱۵
- تغییرات برای کتابخانه گزارمان:
-
- کتابخانه «گزارمان» اضافه شد تا از بازرسیهای کد بهبودیافته پشتیبانی کند. گزارمانها بهعنوان برچسبهای فرادادهای اضافه میشوند که به متغیرها، پارامترها، و مقادیر برگشتی پیوست میکنید تا مقادیر برگشتی روش، پارامترهای ارسالشده، و متغیرها و فیلدهای محلی را بازرسی کنید.
- تغییرات برای کتابخانه پشتیبانی v4:
-
- کلاس
ColorUtilsاضافه شد تا مجموعهای از روشهای کمکی مرتبط با رنگ را ارائه دهد. - روشهای
unwrap()وwrap()را به کلاسDrawableCompatاضافه کردیم تا بتوانید ازsetTint()،setTintList()، وsetTintMode()در همه دستگاههای دارای سطح میانای برنامهسازی کاربردی ۴ یا بالاتر استفاده کنید. - کلاس
TraceCompatرا اضافه کردیم تا رویدادهای ردگیری را در بافر ردگیری سیستم بنویسد، که سپس میتوان آن را بااستفاده از ابزار Systrace جمعآوری و تصویرسازی کرد. - کلاس
CircularIntArrayبرای ایجاد ساختارهای داده آرایه عدد صحیح دایرهای اضافه شد. - روشهای
clear()،removeFromStart()، وremoveFromEnd()را به کلاسCircularArrayاضافه کرد. همچنین، روشهای موجود در این کلاس را به غیرنهایی تغییر داد. -
InputDeviceCompatبهعنوان کلاس کمکی برای دسترسی به دادهها در کلاسInputDeviceCompatاضافه شد. - کلاس
LayoutInflaterCompatبهعنوان کلاس کمکی برای دسترسی به دادهها در کلاسLayoutInflaterCompatاضافه شد و میانایLayoutInflaterFactoryاضافه شد. - کلاسها، روشها، و میاناهایی برای پشتیبانی از پیمایش تودرتو اضافه شد.
- کلاسهای کمکی
NestedScrollingChildHelperوNestedScrollingParentHelperبرای پیادهسازی نماهای والد و فرزند پیمایش تودرتو اضافه شد. - میانای
NestedScrollingChildاضافه شد تا توسطViewزیرکلاس پیادهسازی شود. - میاناهای
NestedScrollingParentوScrollingViewبرای پشتیبانی از عملیات پیمایش و ارائه میاناهای برنامهسازی کاربردی مربوط به پیمایش اضافه شد. - روش
getNestedScrollAxes()به کلاسViewGroupCompatاضافه شد. - روشهایی به کلاس
ViewParentCompatاضافه شد تا از پیمایش تودرتو پشتیبانی کند. - کلاس
NestedScrollViewبرای پشتیبانی از پیمایش تودرتو در والدین و فرزند در هر دو نسخه جدید و قدیمی Android اضافه شد.
- کلاسهای کمکی
- روشها و ثابتهایی به کلاس
MotionEventCompatبرای دریافت مقادیر محور و منبع رویداد اضافه شد. - کلاس
AccessibilityNodeInfoCompatبهروزرسانی شد تا روشهایی برای خطاها، نامعتبرسازی محتوا، و برچسبها اضافه شود. - کلاسهای درونیابی زیر برای پویانمایی اضافه شد:
FastOutLinearInInterpolator،FastOutSlowInInterpolator،LinearOutSlowInInterpolator،LinearOutSlowInInterpolator، وPathInterpolatorCompat. - کلاس
Spaceاضافه شد تا بین عناصر در چیدمانهای چندمنظوره فاصله ایجاد کند. این کلاس در کتابخانه gridlayout منسوخ شده است. - کلاس
TextViewCompatبرای دسترسی به ویژگیها درTextViewاضافه شد. - پارامتر جابهجایی به
متد
onPull()در کلاسEdgeEffectCompatاضافه شد.
- کلاس
- تغییرات کتابخانه سازگاری برنامه v7:
-
- پشتیبانی از رنگآمیزی را به ابزارههای سازگار با برنامه اضافه کردیم، ازجمله
AppCompatAutoCompleteTextView،AppCompatButton،AppCompatCheckBox،AppCompatCheckedTextView،AppCompatEditText،AppCompatMultiAutoCompleteTextView،AppCompatRadioButton،AppCompatRatingBar،AppCompatSpinner، وAppCompatTextView. AppCompatActivityبهعنوان کلاس پایه برای فعالیتهایی که از ویژگیهای نوار کنش کتابخانه پشتیبانی استفاده میکنند بهروز شد. این کلاس جایگزینActionBarActivityمنسوخشده میشود.- رابط
AppCompatCallbackاضافه شد تا برای AppCompat پیادهسازی شود تا بتواند بازخوانها را اجرا کند. - کلاس انتزاعی
AppCompatDelegateرا بهعنوان نمایندهای اضافه کردیم که میتوانید از آن برای گسترش پشتیبانی AppCompat به هر فعالیتی استفاده کنید. - کلاس
AppCompatDialogبهعنوان کلاس پایه برای کادرهای گفتگوی زمینهای AppCompat اضافه شد. - سبک گردونه
AlertDialogوAlertDialog.Builderکلاس را اضافه کرد تاAlertDialogبا موضوع AppCompat ارائه دهد. - کلاس
Palette.Builderبرای تولیدPaletteنمونه اضافه شد.- روش
from(Bitmap)به کلاسPaletteاضافه شد تا تولید «پالت» با نمونهPalette.Builderبرگشتی شروع شود. - روشهای
Palette.generate()وPalette.generateAsync()منسوخ شد.
- روش
- روش
getAbsoluteAlignment()به کلاسGridLayout.Specاضافه شد. - استفاده منسوخشده از
app:themeبرای سبکدهیToolbar. اکنون میتوانید ازandroid:themeبرای نوارابزار در همه دستگاههای دارای میانای برنامهسازی کاربردی سطح ۷ و بالاتر وandroid:themeبرای پشتیبانی از همه ابزارکها در دستگاههای دارای میانای برنامهسازی کاربردی سطح ۱۱ و بالاتر استفاده کنید.
- پشتیبانی از رنگآمیزی را به ابزارههای سازگار با برنامه اضافه کردیم، ازجمله
- تغییرات کتابخانه v17 leanback:
-
-
GuidedStepFragment،GuidanceStylist، وGuidedActionsStylistبه پشتیبانی ایجاد جریانهای تصمیمگیری چندمرحلهای اضافه شد.
-
- تغییرات برای کتابخانه v7 recyclerview:
-
-
SortedListکلاس برای نمایش موارد در ترتیب فهرست اضافه شد و اعلان تغییرات فهرست ارائه شد. - کلاس
SortedListAdapterCallbackاضافه شد که میتواند فهرست مرتبشدهای را به کلاسRecyclerView.Adapterپیوند دهد.
-
- تغییرات برای کتابخانه v8 renderscript:
-
- برای استفاده بهعنوان فیلتر هیستوگرام، کلاس
ScriptIntrinsicHistogramاضافه شد. - کلاس
ScriptIntrinsicResizeبرای انجام تغییر اندازه تخصیص دوبعدی اضافه شد.
- برای استفاده بهعنوان فیلتر هیستوگرام، کلاس
- تغییرات برای کتابخانه پشتیبانی v4:
-
- متد
getDrawable()بهروزرسانی شد تا شیء قابلرسمی را برای شناسه منبع مشخصشده، تراکم صفحه، و زمینه برگرداند. - روش
setImportantForAccessibility()اضافه شد تا بتوانید مشخص کنید آیا نمایشی باید رویدادهای دسترسپذیری را راهاندازی کند یا نه. - روش
getStatusBarBackgroundDrawable()اضافه شد تا بتوانید پسزمینه نوار وضعیت قابلرسم را دریافت کنید. - روشهایی به
NotificationCompat.CarExtender.UnreadConversationکلاس اضافه شد تا برنامههای پیامرسان Android Auto بتوانند دادههای اعلان اضافی را بازیابی کنند. - روش
getProgressCircleDiameter()برای برگرداندن قطر چیدمان دایرهای اضافه شد. - رنگ پیشفرض
DrawerLayoutنوار وضعیت بهcolorPrimaryDarkتغییر کرد.
- متد
- تغییرات کتابخانه سازگاری برنامه v7:
-
- سبک گردونه
Base_Widget_AppCompat_Spinner_Underlinedاضافه شد. - سبکهای ابزارههای رنگی با
Widget_AppCompat_AutoCompleteTextView،MultiAutoCompleteTextView،TextAppearance_AppCompat_Button، وBase_Widget_AppCompat_RatingBarاضافه شد.
- سبک گردونه
- تغییرات کتابخانه v17 leanback:
-
- روشهای
getRecycledPoolSize()وsetRecycledPoolSize()اضافه شد تا امکان سفارشیسازی اندازههای استخر بازیافتی فراهم شود. - مشخصه
WRAP_CONTENTبه تنظیم عرض چیدمان اضافه شد تا از محتوای پیچیده برای نمادهای عنوان پشتیبانی کند. -
R.transitionدر XML تعریف شد تا بهروزرسانیهای انتقال بهبود یابد. - پشتیبانی از چیدمانهای راستبهچپ فعال شد.
- پشتیبانی از رویدادهای کلید رسانه پخش و مکث به کلاس
PlaybackOverlayFragmentاضافه شد. - انتقالهای ورود و بازگشت به کلاس
BrowseFragmentو کلاسDetailsFragmentاضافه شد. - روش
replace()برای جایگزین کردن موارد در آرایه آداپتور شیء اضافه شد.
- روشهای
- تغییرات برای کتابخانه v7 mediarouter:
-
- نمادهای Google Cast بهروزرسانی شد تا از سبک طراحی مادی استفاده کند.
- همه نمادهای استفادهشده در
MediaRouterچارگوش را بهروزرسانی کرد تا از سبک طراحی مواد استفاده کند.
- تغییرات برای کتابخانه v7 recyclerview:
-
- روشهای
getlayoutPosition()وgetadapterPosition()را به کلاسRecyclerViewاضافه کرد. - روشهای
classgetChildPosition()وfindViewHolderForPosition()در کلاسRecyclerViewمنسوخ شد. - روش
getPosition()در کلاسRecyclerView.ViewHolderمنسوخ شد. - روش
getViewPosition()در کلاسRecyclerView.LayoutParamsمنسوخ شد.
- روشهای
- تغییرات برای کتابخانه پشتیبانی v4:
-
- چند روش
NotificationCompat.WearableExtenderبرای بهبود نمایش بارکدها در اعلانهای دستگاههای پوشیدنی اضافه شد.
- چند روش
- تغییرات برای کتابخانه پشتیبانی v4:
-
-
NotificationCompat.CarExtenderکلاس برای پشتیبانی از افزونههای Android Auto به اعلانها اضافه شد.
-
- تغییرات کتابخانه سازگاری برنامه v7:
-
- سازنده
PopupMenuبرای پشتیبانی از منوهای بالاپر جدید اضافه شد. - پشتیبانی از شرح نماد «جمع کردن» در کلاس
Toolbarاضافه شد. - ابزاره
SearchViewبهروزرسانی شد تا از نمایشcommitIconپشتیبانی کند. - مشخصه
buttonGravityرا از کلاسToolbarبرداشت.
- سازنده
- تغییرات برای کتابخانه نمای کارت v7:
-
-
setCardBackgroundColor(ColorStateList)API برای پشتیبانی از تغییر رنگ پسزمینهCardViewاضافه شد. CardViewتغییر کرد تا مقدار کدری آن را بهصورتTRANSLUCENTدقیقتر گزارش کند.
-
- تغییرات برای کتابخانه v7 recyclerview:
-
- ثابتهای
TOUCH_SLOP_DEFAULTوTOUCH_SLOP_PAGINGبه کلاسRecyclerViewبرای پشتیبانی از پیکربندیهای شیب لمسی برای صفحهبندی اضافه شد.
- ثابتهای
- تغییرات کتابخانه v17 leanback:
-
- پشتیبانی برای تولید تکهکدهای نسخه ۴ اضافه شد.
- رنگ نوشتار فرعی در
CardViewتغییر کرد.
- کتابخانه پشتیبانی multidex برای پشتیبانی از چند فایل اجرایی Dalvik (DEX) برای پشتیبانی از فایل چند dex قبلاز Android 5.0 اضافه شد.
- تغییرات برای کتابخانه پشتیبانی v4:
-
- پشتیبانی از
Fragmentگذار برای دستگاههای دارای Android 5.0 (سطح میانای برنامهسازی کاربردی ۲۱) اضافه شد. توجه داشته باشید که انتقالها روی دستگاههای دارای Android 4.4 و نسخههای پایینتر تأثیری ندارند. -
DocumentFileبرای تسهیل انتقال ازFileهنگام کار با درختهای سند اضافه شد. بااینحال، این کلاس در مقایسه با میانای برنامهسازی کاربردیDocumentsContractپلاتفرم که در Android 4.4 (سطح میانای برنامهسازی کاربردی ۱۹) اضافه شده است، سربار پردازشی بیشتری نیاز دارد. بنابراین هنگام اجرا در Android 4.4 و بالاتر باید ازDocumentsContractاستفاده کنید.
- پشتیبانی از
- تغییرات برای v7 appcompat library:
-
- پشتیبانی از میاناهای کاربر طراحی ماتریال اضافه شد.
-
Toolbarاضافه شد که عملکردActionBarرا برای استفاده در چیدمانهای برنامه تعمیم میدهد. -
ActionBarDrawerToggleبهروز شد، که حاوی پویانمایی منو به پیکان است - ابزارههای واسط کاربر مشترک بهروزرسانی شد تا هنگام اجرا در دستگاههای دارای Android نسخه قبلاز ۵.۰، امکان رنگآمیزی ازطریق مشخصههای زمینه فراهم شود
-
SwitchCompat، یک انتقال به نسخه قبلی از ابزارهSwitchکه در Android 4.0 (میانای برنامهسازی کاربردی سطح ۱۴) اضافه شده بود، اضافه شد.
- کتابخانه نمای کارت v7 جدید:
-
- ابزارک
CardViewاضافه شد که پیادهسازی سازگار با طراحی مواد برای نمایش مورد داده ارائه میدهد.
- ابزارک
- کتابخانه جدید v7 recyclerview:
-
- ابزارک
RecyclerViewاضافه شد که نمای فهرست انعطافپذیری برای ارائه پنجرهای محدود به مجموعه دادههای بزرگ ارائه میدهد.
- ابزارک
- کتابخانه پالت v7 جدید:
-
-
Paletteکلاس اضافه شد، که به شما امکان میدهد رنگهای برجسته را از تصویر استخراج کنید.
-
- کتابخانه leanback v17 جدید:
-
- پشتیبانی از ساختن واسطهای کاربر تلویزیون، ازجمله
BrowseFragment،DetailsFragment، وPlaybackOverlayFragmentاضافه شد. برای کسب اطلاعات بیشتر درباره استفاده از این ابزارکهای رابط کاربری، ساخت برنامههای پخش تلویزیون را ببینید.
- پشتیبانی از ساختن واسطهای کاربر تلویزیون، ازجمله
- تغییرات کتابخانه پشتیبانی v4:
-
- در
NotificationCompat.WearableExtender، پشتیبانی از اعلان گسترده برای Android Wear اضافه شد که به شما امکان میدهد ویژگیهای خاص دستگاه پوشیدنی را در اعلانهایتان مشخص کنید. -
NotificationCompat.Action.WearableExtenderاضافه شد، که اجازه میدهد کنشها به اعلانهای پوشیدنی اضافه شوند. -
NotificationManagerCompatاضافه شد که به شما امکان میدهد اعلانهایی صادر کنید که بهدرستی از ویژگیهای پوشیدنی پشتیبانی میکنند. -
RemoteInputاضافه شد که به دستگاه دستی اجازه میدهد ورودی صوتی را از اعلانی که در دستگاه پوشیدنی ظاهر میشود دریافت کند. - مدیریت بازخورد لمس در
SwipeRefreshLayoutبهبود یافت.
- در
- تغییرات کتابخانه پشتیبانی v4:
-
- کلاس
SwipeRefreshLayoutاضافه شد، که به کاربران امکان میدهد محتوای نما را با اشاره تند عمودی بازآوری کنند. - مشکلات دسترسپذیری مربوط به کشوهای پیمایش برطرف شد.
- کلاس
- تغییرات کتابخانه سازگاری برنامه v7:
-
- مشکلات پسزمینه نوار کنش برطرف شد.
- تغییرات کتابخانه پشتیبانی v4:
-
- با افزودن مدیریت ناهمزمان چاپ،
PrintHelperبهبود یافت. - تقریب کلاس
DrawerLayoutروشaddChildrenForAccessibility()را اصلاح کرد. - آینهسازی تصویر کشیدنی اسلاید در
ActionBarDrawerToggleاصلاح شد. - مشکل یک واحدی هنگام برداشتن مورد از تکرارکننده مجموعه رفع شد.
- با افزودن مدیریت ناهمزمان چاپ،
- تغییرات برای کتابخانه mediarouter نسخه ۷:
-
- بااستفاده از نام کامل عنصر در
MediaRouteProvider.ProviderMetadata، شناسایی مسیر بهبود یافت. -
MediaRouteChooserDialogبهروز شد تا مسیرهای غیرفعال پنهان شود.
- بااستفاده از نام کامل عنصر در
- تغییرات برای کتابخانه v8 renderscript
-
- انتشار خطا برای لایه تبدیل RenderScript اضافه شد.
- تغییرات کتابخانه پشتیبانی v4:
-
- پشتیبانی از «میاناهای برنامهسازی کاربردی فضای ذخیرهسازی» خارجی با
getObbDirs()،getExternalFilesDirs()،getExternalCacheDirs()، وgetStorageState()اضافه شد. این روشهای کمکی همیشه یک هدف فایل واحد را در دستگاههای دارای Android 4.3 (میانای برنامه کاربردی سطح ۱۸) و نسخههای قدیمیتر برمیگردانند. وقتی در Android 4.4 (میانای برنامه کاربردی سطح ۱۹) و بالاتر اجرا میشود، این روشها ممکن است بیشاز یک شیء فایل برگردانند. - کلاس
PrintHelperاضافه شد که با «میاناهای برنامهسازی کاربردی چاپ» کار میکند تا تصاویر را با حداقل کد چاپ کند. - پشتیبانی از میانای کاربر کشیدن برای باز کردن برای منوهای بالاپر اضافه شد. برای اطلاعات بیشتر،
PopupMenuCompatوListPopupWindowCompatرا ببینید. - پشتیبانی بهبودیافته از دسترسپذیری با افزودن روش
findFocus()درAccessibilityNodeProviderCompatو روشgetLiveRegion()درAccessibilityNodeInfoCompat. - کلاس کمکی
ScaleGestureDetectorCompatبرای دسترسی به روشهای جدید اشاره مقیاسبندی اضافه شد. - مشکل
ActionBarDrawerToggleدر نمایش زبانهای راستبهچپ برطرف شد. - گزینه
AutoScrollHelperبرای مصرف کردن رویدادهای لمسی اصلاح شد یا به آنها اجازه داده شد به نماهای دیگر منتقل شوند.
- پشتیبانی از «میاناهای برنامهسازی کاربردی فضای ذخیرهسازی» خارجی با
- تغییرات برای کتابخانه mediarouter نسخه ۷:
-
- پشتیبانی از صفبندی بازپخش رسانه، تنظیم مقادیر سرایند HTTP، و مدت بازپخش رسانه اضافه شد.
- کنشهای شروع، دریافت، و پایان جلسه صریح برای مدیریت صریح جلسات بازپخش رسانه با مسیریاب رسانه اضافه شد.
- تغییرات کتابخانه پشتیبانی v4:
-
- میانای کاربر
-
BidiFormatterبرای مدیریت رشتههای نوشتاری که نوشتار قالببندیشده راستبهچپ و چپبهراست را ترکیب میکنند اضافه شد. -
ViewPagerاصلاح شد تا مواردی را که در پردازش چیدمان اولیه، عرض صفحهبندی صفر اندازهگیری شده است بهتر مدیریت کند. -
DrawerLayoutوSlidingPaneLayoutاصلاح شد تا هنگام ویرایش کد پروژه، استثنایی برای اندازهگیری ایجاد نشود.
-
- دسترسپذیری
-
ExploreByTouchHelperاضافه شد تا پیادهسازی دسترسیپذیری برای نماهای سفارشی سادهتر شود. - مشکلی که باعث میشد
ViewPagerرویدادهای دسترسپذیریTYPE_VIEW_SCROLLEDرا بهاشتباه پر کند برطرف شد. - استثنای اشارهگر تهی در
ViewPagerهنگام پر کردن رویداد دسترسپذیری رفع شد. -
AccessibilityNodeInfoCompatبا تغییرCharSequenceورودی بهStringشیء ساده شد. - سازنده
AccessibilityRecordCompatکه ازObjectبهعنوان ورودی استفاده میکرد منسوخ شد.
-
- رسانه
-
TransportMediatorکلاس کمکی برای مدیریت کنترل انتقال رسانه، مثل پخش، توقف موقت، رد کردن، و کنشهای رسانهای دیگر اضافه شد. -
DisplayManagerCompatبرای مدیریت برونداد نمایشگر به یک یا چند نمایشگر دستگاه اضافه شد.
-
- تغییرات دیگر
- برای پیادهسازی الگوی رایج تشخیص رویداد بیدار شدن دستگاه و واگذاری کار به
Service، کلاس کمکیWakefulBroadcastReceiverاضافه شد و درعینحال تضمین شد که دستگاه قبلاز تکمیل واگذاری به حالت خواب برنگردد. - دو API جدید،
commitContentChanged()وrollbackContentChanged()، بهAsyncTaskLoaderاضافه شد تا به مدیریت بهروزرسانیهای پسزمینهای برای تغییرات دادهای که متعاقباً لغو میشوند کمک کند.
- برای پیادهسازی الگوی رایج تشخیص رویداد بیدار شدن دستگاه و واگذاری کار به
- میانای کاربر
- کتابخانه جدید v7 appcompat:
- کتابخانه جدید v7 mediarouter:
-
کتابخانه جدیدی برای مسیریاب رسانه اضافه شد که از پیشنمای توسعهدهندگان Google Cast پشتیبانی میکند. میاناهای برنامهسازی کاربردی کتابخانه v7 mediarouter روشی برای کنترل مسیریابی کانالها و جاریسازیهای رسانهای از دستگاه فعلی به صفحههای نمایش خارجی، بلندگوها، و دیگر دستگاههای مقصد ارائه میدهد و با Android 2.1 (سطح API 7) سازگار است. برای اطلاعات بیشتر، کتابخانه mediapouter V7 را ببینید.
میاناهای برنامهسازی کاربردی کتابخانه v7 mediarouter که در Support Library r18 معرفی شدهاند در نسخههای بعدی Support Library ممکن است تغییر کنند. درحالحاضر، توصیه میکنیم از کتابخانه فقط درارتباط با پیشنمایش توسعهدهنده Google Castاستفاده کنید.
- تغییرات کتابخانه پشتیبانی v4:
-
DrawerLayoutبرای ایجاد کشوی پیمایش که میتواند از لبه پنجره بیرون کشیده شود اضافه شد.- ابزاره
SlidingPaneLayoutبرای ایجاد نمای خلاصه و جزئیات پیوندی که بهطور مناسب با اندازههای مختلف صفحهنمایش تطبیق پیدا میکند اضافه شد. -
ActionBarDrawerToggleبهعنوان روشی برای پیوند دادن عملکردهایDrawerLayoutوActionBarاضافه شد. -
ViewDragHelperبهعنوان عنصر مشترک جدیدی برای کشیدن نماها در نمای والد اضافه شد. -
ScrollerCompatبرای ارائه پشتیبانی سازگاریScrollerوOverScrollerاضافه شد. -
FileProviderاضافه شد تا همرسانی فایلهای خصوصی بین برنامهها مجاز شود. -
ViewPagerبهروزرسانی شد تا اگر کلاسPagerAdapterمرتبط بدون فراخوانیnotifyDataSetChanged()تغییر کند، استثنایی ایجاد کند. - مشکلی در ترتیب مرتبسازی نقاشیهای کودکان
ViewPagerبرطرف شد. -
GestureDetectorCompatرفع شد تا تماسهایonSingleTapConfirmed(MotionEvent)که بین رویدادهای فشار طولانی و مهلت زمانی تکضرب وجود داشتند ارسال شوند.
- کتابخانه جدید v7 gridlayout:
-
-
GridLayoutبرای ارائه پشتیبانی از شیء چیدمانGridLayoutاضافه شد. -
android.support.v7.widget.Spaceاضافه شد که میتوان از آن برای ایجاد کردن نواحی خالی در شیء طرحبندیGridLayoutاستفاده کرد.
-
- تغییرات کتابخانه پشتیبانی v4:
-
- عملکرد تعاملی بهبودیافته برای
ViewPager. - اشکالی که باعث میشد
ViewPagerصفحه اشتباهی را انتخاب کند برطرف شد. - استفاده ثابت از روش
removeView()درطول چیدمان برایViewPager. - مشکل
SearchViewCompatبرطرف شد. در این مشکل، استفاده از دکمه بازگشت برای بستن، نوشتار جستجو را پاک نمیکرد. این اصلاح فقط برای سطوح میزبان API 14 و بالاتر اعمال میشود.
- عملکرد تعاملی بهبودیافته برای
- تغییرات کتابخانه پشتیبانی v4:
-
- میانای کاربر
- پشتیبانی از کلاسهای
Fragmentتودرتو اضافه شد. - بهبودهایی به اشکالزدایی
FragmentManagerاضافه شد. - مشکل
FragmentTabHostبرطرف شد. در این مشکل، تعامل برگه و قطعه میتوانست منجر به ازدست رفتن وضعیتListViewشود. - مشکل مربوط به اشاره نمایان برای کاربر در
FragmentStatePagerAdapterرفع شد. - میانای
PageTransformerبهViewPagerاضافه شد تا به برنامهها اجازه دهد رفتار انتقال سفارشی برای پیمایش ارائه دهند. - ویژگیهای جدید و رفع اشکالهایی به
TaskStackBuilderاز نسخه پخش فعلی اضافه شد. -
PagerTitleStripاصلاح شد تاPagerAdapterدرحال استفاده بهدرستی پیگیری شود. - مشکلات پرش نمایشگر، موقعیتیابی، و برش نوشتار در
PagerTitleStripرفع شد. - رفع مشکل
PagerTabStripبرای رعایت صحیح حاشیه هنگام رسم خط زیر.
- پشتیبانی از کلاسهای
- دسترسپذیری
- پشتیبانی از انواع جدید رویداد لمسی و اشاره دسترسپذیری در
AccessibilityEventCompatاضافه شد. - پشتیبانی از میاناهای برنامهسازی کاربردی دسترسپذیری جدید در
ViewCompatاضافه شد. - پشتیبانی از روش
performAccessibilityAction()بهViewCompatاضافه شد.
- پشتیبانی از انواع جدید رویداد لمسی و اشاره دسترسپذیری در
- پشتیبانی از اشارهها با
GestureDetectorCompatاضافه شد. - پشتیبانی از انجام عملیات اتمی روی فایلها بااستفاده از کلاس جدید
AtomicFileاضافه شد. - پشتیبانی از مجموعه کامل روشهای
makeدرIntentCompatاضافه شد. - روش
trimToSize()در کلاس ابزارLruCacheاضافه شد. -
ConnectivityManagerCompatبهروزرسانی شد تا NetworkInfo را از همهفرستیCONNECTIVITY_ACTIONدریافت کند.
- میانای کاربر
- تغییرات کتابخانه پشتیبانی v4:
-
- پشتیبانی از ویژگیهای اعلان معرفیشده در Android 4.1 (سطح API 16) با
افزودن به
NotificationCompatاضافه شد.
- پشتیبانی از ویژگیهای اعلان معرفیشده در Android 4.1 (سطح API 16) با
افزودن به
- تغییرات کتابخانه پشتیبانی v4:
-
- پشتیبانی میانای کاربر
- پشتیبانی از
PagerTabStripاضافه شد و عملکردی بهتر ازPagerTitleStripارائه میدهد. - اشکالات مختلفی برای
PagerTitleStripوPagerTabStripرفع شد، ازجمله گزینهsetAllCaps، تراز عنوان، بهبودهای ظاهر، محدودیتهای حداقل عرض، و مشکلات پیمایش لمسی. - پشتیبانی از
ViewPagerحاشیه صفحه اضافه شد که به کلاسViewPagerکمک میکند تا از صفحهبندی محتوایی با محدوده پیمایش افقی بزرگ، مثل نقشه، پشتیبانی کند. - اشکالات متعددی برای
ViewPagerبرطرف شد، ازجمله مشکلات مربوط به تغییر اندازه و مجموعه داده، موقعیت صفحه، تعامل کاربر، ردیابی پیمایش، و مشکلات پیمایش با صفحهکلید. - اشکالات زیادی برای
Fragmentبرطرف شد، ازجمله مدیریت صحیحonActivityResult()وقتی بخش هدف دیگر وجود ندارد، ارسال رویدادهای انتخاب به بخشهای نامرئی، بهبود عملکردFragmentTransaction.replace()، و افزودن مدیریت بهتر وضعیت برای بخشهایی که از دید خارج میشوند. - پشتیبانی از روش
postOnAnimation()درViewCompatاضافه شد. -
NavUtilsبهروزرسانی شد تا درصورت دردسترس بودن از عملکرد پیمایش Android 4.1 (سطح میانای برنامهسازی کاربردی ۱۶) بالا استفاده کند.
- پشتیبانی از
- دسترسپذیری
- کلاسهای پشتیبانی از دسترسپذیری، ازجمله
AccessibilityNodeInfoCompat، بهروزرسانی شد تا اصلاحات انجامشده در Android 4.1 (سطح API 16) را دنبال کند. - پشتیبانی از کنشهای پیمایش دسترسپذیری در
ViewPagerاضافه شد.
- کلاسهای پشتیبانی از دسترسپذیری، ازجمله
- بهبودهای کلی
-
TaskStackBuilderبهروزرسانی شد تا تغییرات «میانای برنامهسازی کاربردی» در Android 4.1 (سطح میانای برنامهسازی کاربردی ۱۶) را منعکس کند. -
TaskStackBuilderبهبودیافته تا امکان استفاده از آن در «سرویس» فراهم شود. - پشتیبانی از
EXTRA_HTML_TEXTبهShareCompatاضافه شد. -
NotificationCompat.Builderبهروزرسانی شد تا از روشsetNumber()پشتیبانی کند. - پشتیبانی در
ConnectivityManagerCompatبرای روشisActiveNetworkMetered()اضافه شد.
-
- پشتیبانی میانای کاربر
- تغییرات کتابخانه پشتیبانی v4:
-
- پرچمهای هدف ثابت برای
PendingIntentشیء تولیدشده توسطTaskStackBuilder. - ویژگیهای استفادهنشده از پروژههای کتابخانه gridlayout برداشته شد تا کتابخانه بتواند با سطح API ۷ و بالاتر ساخته شود.
-
.classpathو.projectفایل برای پروژه کتابخانه gridlayout اضافه شد.
- پرچمهای هدف ثابت برای
- تغییرات کتابخانه پشتیبانی v4:
-
-
ShareCompatاضافه شد که کلاسهای کمکی برای ارسال و دریافت محتوا برای برنامههای همرسانی اجتماعی ارائه میدهد، ازجمله فراداده جدید برای نسبت دادن دادههای همرسانیشده به برنامه منبع. این کلاس همچنین ادغام سازگار باShareActionProviderجدید در Android 4.0 را ارائه میدهد. -
NavUtilsوTaskStackBuilderاضافه شدند تا از اجرای دستورالعملهای طراحی Android برای پیمایش پشتیبانی کنند. این افزودهها شامل روشی برای پیادهسازی دکمه بالا نوار کنش در نسخههای مختلف است. برای نمونه پیادهسازی این الگو، نمونه «پیمایش برنامه» را در (<em><sdk></em>/samples/<em><platform></em>/AppNavigation) ببینید. -
NotificationCompat.Builderاضافه شد تا پیادهسازی سازگاری کلاس کمکیNotification.Builderدر Android 3.0 را برای ایجاد اعلانهای سیستم استاندارد ارائه دهد.
-
- تغییرات کتابخانه پشتیبانی v4:
-
- تغییرات ViewPager:
- پشتیبانی نمای تزئینی اضافی برای
ViewPagerاضافه شد. نماهای تزئینی ممکن است بهعنوان نماهای فرزند یک صفحهگرد در چیدمان XML ارائه شوند. -
PagerAdapter.getPageTitle()برای ارائه رشتههای عنوان برای صفحات اضافه شد که بهطور پیشفرض برای هر صفحه بدون عنوان است. PagerTitleStrip، نوار عنوان غیرتعاملی، اضافه شد که میتواند بهعنوان فرزند ViewPager اضافه شود. توسعهدهندگان میتوانند ظاهر و رنگ نوشتار و همچنین اطلاعات مربوط به اندازه چیدمان و جاذبه را ارائه دهند.-
PagerAdapterروش بهروزرسانیشده برای دریافت اشیاء ViewGroup بهجای View برای جلوگیری از تبدیل نوع کلاس در پیادهسازیهای آداپتور. -
ViewPagerبرای استفاده از عملکرد پرتاب به سبک «راهانداز» بهروز شد. - رفع اشکالات مربوط به تعامل واسط کاربر و خودکارسازی آزمایش.
- پشتیبانی نمای تزئینی اضافی برای
- پشتیبانی از «تکهفیلمها»:
- روش
setStartDeferred()بهsetUserVisibleHint(boolean)تغییر کرد. - شروع بهتعویقافتاده برای صفحههای خارج از صفحه اضافه شد تا عملکرد بهبود یابد.
- روش
- پشتیبانی از «میاناهای برنامهسازی کاربردی دسترسپذیری»:
-
AccessibilityDelegateCompatروش بهروزرسانی شد تا بهجای مقدار تهی، فهرستهای خالی برگرداند. - میاناهای برنامهسازی کاربردی جدیدی که نمونههای v4 به آنها نیاز دارند اضافه شد.
-
- تغییرات ViewPager:
- تغییرات کتابخانه پشتیبانی v4:
-
- پشتیبانی از «میاناهای برنامهسازی کاربردی دسترسپذیری»:
-
AccessibilityDelegateCompatبرای پشتیبانیView.AccessibilityDelegateاضافه شد. -
AccessibilityEventCompatبرای پشتیبانیAccessibilityEventاضافه شد. -
AccessibilityManagerCompatبرای پشتیبانیAccessibilityManagerاضافه شد. -
AccessibilityNodeInfoCompatبرای پشتیبانیAccessibilityNodeInfoاضافه شد. -
AccessibilityRecordCompatبرای پشتیبانیAccessibilityRecordاضافه شد. -
AccessibilityServiceInfoCompatبرای پشتیبانیAccessibilityServiceInfoاضافه شد. ViewGroupCompatبرای پشتیبانی از ویژگیهای دسترسپذیری درViewGroupاضافه شد.ViewCompatبرای پشتیبانی از ویژگیهای دسترسپذیری درViewاصلاح شد.
-
- تغییرات ViewPager:
- پشتیبانی از حاشیههای بین صفحهها اضافه شد.
میتوان
Drawableاختیاریای برای پر کردن حاشیهها ارائه داد. - پشتیبانی از
EdgeEffectاضافه شد. - پشتیبانی از پیمایش با صفحهکلید اضافه شد
- پشتیبانی برای کنترل تعداد صفحههایی که در هر طرف صفحه کنونی نگه داشته میشوند اضافه شد.
- فیزیک لمس بهبودیافته.
- رفع اشکالهای مربوط به عملکرد میانای کاربر.
- پشتیبانی از حاشیههای بین صفحهها اضافه شد.
میتوان
- پشتیبانی از «میاناهای برنامهسازی کاربردی دسترسپذیری»:
- تغییرات کتابخانه پشتیبانی v4:
-
-
EdgeEffectCompatبه پشتیبانیEdgeEffectاضافه شد. -
LocalBroadcastManagerاضافه شد تا برنامهها بتوانند بهراحتی درون یک برنامه واحد برای هدفها ثبتنام کنند و آنها را دریافت کنند، بدون اینکه آنها را بهصورت جهانی همهفرستی کنند. - در
ViewCompat، پشتیبانی برای بررسی و تنظیم حالتهای پیمایش اضافی برایViewدر Android 2.3 و نسخههای جدیدتر اضافه شد. - تغییرات در Fragment APIs:
- میاناهای برنامهسازی کاربردی جدیدی برای کنترل نمایان بودن منوهای جدید اضافه شد.
- «میاناهای برنامهسازی کاربردی» پویانمایی سفارشی اضافه شد.
- APIs در
FragmentActivityاضافه شد تا دادههای نمونه سفارشی و غیرپیکربندیشده حفظ شود. - رفع اشکالهای مختلف.
- اشکال
Loaderکه باعث بروز مشکلاتی در لغوAsyncTaskهنگام اجرا در Froyo و نسخههای قدیمیتر پلاتفرم میشد برطرف شد. کد پشتیبانی اکنون از نسخهAsyncTaskخود استفاده میکند تا رفتار یکسانی در همه نسخههای پلاتفرم داشته باشد.
-
- تغییرات کتابخانه پشتیبانی v4:
-
- پشتیبانی از
Fragment.SavedStateرا اضافه میکند -
MotionEventCompatرا برای پشتیبانی از میاناهای برنامهسازی کاربردی جدیدترMotionEventاضافه میکند -
VelocityTrackerCompatرا برای پشتیبانی از میاناهای برنامهسازی کاربردیVelocityTrackerجدیدتر اضافه میکند -
ViewConfigurationCompatرا برای پشتیبانی از میاناهای برنامهسازی کاربردیViewConfigurationجدیدتر اضافه میکند - همه «میاناهای برنامهسازی کاربردی» جدید (فقط در کتابخانه پشتیبانی دردسترس است) که به شما امکان میدهد واسطهای کاربری با صفحهبندی افقی ایجاد کنید و به کاربران اجازه میدهد بین نماهای محتوا به چپ و راست بکشند. کلاسهای
پشتیبانی از این شامل:
-
ViewPager:ViewGroupکه چیدمان نماهای فرزند را مدیریت میکند و کاربر میتواند بین آنها تند بکشد. -
PagerAdapter: آداپتوری کهViewPagerرا با نماهایی که نشاندهنده هر صفحه است پر میکند. FragmentPagerAdapter: افزونهای ازPagerAdapterبرای جابهجایی بین تکهها.-
FragmentStatePagerAdapter: افزونهای ازPagerAdapterبرای جابهجایی بین تکههایی که از پشتیبانی کتابخانه برایFragment.SavedStateاستفاده میکند.
-
- پشتیبانی از
- کتابخانه پشتیبانی جدید v13:
-
- شامل
FragmentPagerAdapterوFragmentStatePagerAdapterبرای پشتیبانی از صفحهبندی افقی.اینها دقیقاً همان میاناهای برنامهسازی کاربردی هستند که به کتابخانه پشتیبانی v4 اضافه شدهاند، اما در Android 3.2 به دیگر عناصر پلاتفرم متکی هستند. اگر برای Android 3.2 و بالاتر توسعه میدهید، بهجای v4 از این کتابخانه استفاده کنید (همه «میاناهای برنامهسازی کاربردی» دیگر در کتابخانه v4 ازقبل با سطح «میانای برنامهسازی کاربردی» ۱۳ دردسترس هستند).
- شامل
- تغییرات برای کتابخانه v4:
-
- پشتیبانی از پویانماییهای قطعه
- رفع
Fragment.onActivityResult()اشکال
بازبینی ۲۲
مارس ۲۰۱۵
بازبینی ۲۱.۰.۳
دسامبر ۲۰۱۴
نسخه اصلاحی ۲۱.۰.۲
نوامبر ۲۰۱۴
بازبینی ۲۱.۰.۱
نوامبر ۲۰۱۴
بازبینی ۲۱
اکتبر ۲۰۱۴
بازبینی ۲۰
ژوئیه ۲۰۱۴
بازبینی 19.1.0
مارس ۲۰۱۴
بازبینی ۰.۱.۱۹
دسامبر ۲۰۱۳
بازبینی ۱۹
اکتبر ۲۰۱۳
بازبینی ۱۸
ژوئیه ۲۰۱۳
بازبینی ۱۳
مه ۲۰۱۳
بازبینی ۱۲
فوریه ۲۰۱۳
بازبینی ۱۱
نوامبر ۲۰۱۲
بازبینی ۱۰
اوت ۲۰۱۲
بازبینی ۹
ژوئن ۲۰۱۲
بازبینی ۸
آوریل ۲۰۱۲
بازبینی ۷
مارس ۲۰۱۲
بازبینی ۶
دسامبر ۲۰۱۱
توجه: مرجع میاناهای برنامهسازی کاربردی کتابخانه پشتیبانی اکنون با
مرجعهای چارچوب دردسترس است، برای مثال: android.support.v4.app.
بازبینی ۵
دسامبر ۲۰۱۱
بازبینی ۴
اکتبر ۲۰۱۱
بازبینی ۳
ژوئیه ۲۰۱۱
بازبینی ۲
مه ۲۰۱۱
بازبینی ۱
مارس ۲۰۱۱
اولین نسخه پخش با کتابخانه v4.