این صفحه جزئیات مربوط به نسخه های قدیمی بسته کتابخانه پشتیبانی را ارائه می دهد. برای آخرین نسخههای کتابخانه پشتیبانی، به نسخههای اخیر کتابخانه پشتیبانی مراجعه کنید.
نسخه 26.0.0 بتا 2
(ژوئن 2017)
لطفا توجه داشته باشید که 26.0.0-beta2 یک نسخه پیش از انتشار است. سطح API آن در معرض تغییر است و لزوماً شامل ویژگیها یا رفع اشکال از آخرین نسخههای پایدار کتابخانه پشتیبانی نمیشود.
مهم: کتابخانه های پشتیبانی اکنون از طریق مخزن Maven Google در دسترس هستند. شما نیازی به دانلود مخزن پشتیبانی از مدیر SDK ندارید. برای اطلاعات بیشتر، به راه اندازی کتابخانه پشتیبانی مراجعه کنید.
API های جدید
- کلاس جدید
JobIntentService
، برای کمک به توسعه دهندگان برنامه ریزی وظایف را به گونه ای که با محدودیت های جدید اجرای پس زمینه Android O مطابقت دارد.
تفاوت های 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()
مراجعه کنید.
مسائل رفع شد
-
StaggeredGridLayoutManager
IllegalArgumentException
را پرتاب می کند (نسخه AOSP 230295 ) - واکشی اولیه
RecyclerView
به درستیRecyclerView
را که متصل است اما روی صفحه نیست کنترل نمی کند -
LinearLayout
توسط Robolectric شناسایی نشده است - وقتی
Activity
از بین میرود،onActivityCreated()
بهطور نامناسب برای فرگمنتهای آن فراخوانی میشود - سازنده
AppCompatImageView
باعث ایجادArrayIndexOutOfBoundsException
می شود - عملکرد ضعیف رابط کاربری در انتقال فعالیت
Call.Details
ویرایش 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 های جدید و اصلاح شده
- کتابخانه پشتیبانی ExifInterface اضافه شد. این کتابخانه پشتیبانی از خواندن اطلاعات Exif از فایلهای JPEG و فرمت خام و تنظیم اطلاعات Exif در فایلهای تصویری JPEG را باز میکند.
-
Snackbar
دوباره ساخته شده است تا به برنامه ها امکان نمایش محتوای سفارشی را بدهد.BaseTransientBottomBar
کلاس پایه جدیدی است که رفتار کلی لغزش و انیمیشن ها را نشان می دهد. - یک بسته جدید leanback.media اضافه شد که شامل کلاس های کمکی برای ادغام پخش کننده های رسانه در برنامه های Android TV است.
-
SeekBarPreference
با طرحبندی و ویژگیهای قابل تنظیم به کتابخانه پشتیبانی ترجیحی v7 اضافه شد. - کلاس
ArraySet
به کتابخانه پشتیبانی v4 اضافه شد. این کلاس مربوط به کلاس فریمورکArraySet
است که با سطح API 23 معرفی شده است. -
RecyclerView
RecyclerView بهبودهای واکشی اولیه مورد:- واکشی اولیه Nested
RecyclerView
واکشی اولیه محتوا را از یکRecyclerView
در یکRecyclerView
پیمایشی دیگر، با API برای کنترل میزان واکشی اولیه امکان پذیر می کند: - APIهای اضافه شده برای اشیاء
LayoutManager
سفارشی برای فعال کردن واکشی اولیه در حین اسکرول ها و flings - بهبودهایی در واکشی اولیه برای انجام کارهای ایجاد/پیوند تا حد امکان در فاصله زمانی بین فریم ها
- واکشی اولیه Nested
مسائل رفع شد
- جابجایی نمایان بودن گذرواژه در تستهای دسترسی ناموفق بود.
- 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 خاص، به مستندات آن مراجعه کنید.
-
android.support.design.widget
-
android.support.v17.leanback.app
-
BackgroundManager.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()
-
PlaybackControlSupportGlue
-
PlaybackOverlayFragment
-
PlaybackOverlaySupportFragment
-
-
android.support.v17.leanback.widget
-
android.support.v4.app
-
FragmentActivity.getSupportMediaController()
-
FragmentActivity.setSupportMediaController()
-
ویرایش 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
همچنان آیتم منو را به عنوان انتخاب شده پس از برگرداندن falseonNavigationItemSelected()
نشان می دهد. (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
مشکلات رفع شده:
-
FloatingActionButton
دیگر نمی تواند به فرزندان غیر مستقیمCoordinatorLayout
متصل شود. (نسخه AOSP 220250 ) - تصویر داخل
CollapsingToolbarLayout
به درستی باfitsSystemWindows=true
مقیاس نمی شود. (AOSP شماره 220389 ) -
CoordinatorLayout
IndexOutOfBoundsException
زمانی کهSnackbar
نشان داده می شود و رد می شود، پرتاب می کند. (AOSP شماره 220762 ) -
TextInputLayout
رنگ متن خطا را حل نمی کند. (AOSP شماره 220305 ) -
BatchedCallback.onMoved()
BatchedCallback.onInserted()
را فرا می خواند. (نسخه AOSP 220309 ) -
TextInputLayout
قابل ترسیم ترکیب سمت راست را لغو می کند. (AOSP شماره 220728 )
لیست کامل رفع اشکال عمومی در 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()
جایگزین شده است. - چندین کلاس انتزاعی منسوخ شدهاند و با رابطهایی جایگزین شدهاند که معادلهای چارچوب آنها را بیشتر منعکس میکنند.
-
AccessibilityStateChangeListenerCompat
با رابطAccessibilityManagerCompat.AccessibilityStateChangeListener
جایگزین شده است. -
OnCloseListenerCompat
با رابطSearchViewCompat.OnCloseListener
جایگزین شده است. -
OnQueryTextListenerCompat
با رابطSearchViewCompat.OnQueryTextListener
جایگزین شده است.
-
-
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()
وضعیت چرخه حیات خاصی از قطعه را در نظر میگیرند. برای اطلاعات بیشتر ، به صفحه مرجع Docs forFragment.setUserVisbileHint()
مراجعه کنید.
-
مشکلات رفع شده:
- tableayout.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
- پشتیبانی اضافه شده برای مراجعه به اشیاء
- تغییرات برای کتابخانه پشتیبانی طراحی :
- پیشرفت در استفاده از
AppBarLayout
از ارتفاع با استفاده ازStateListAnimator
- پیشرفت در استفاده از
- تغییرات برای کتابخانه Leanback V17 :
- برای ارائه استقبال و تنظیم اولین بار ،
OnboardingFragment
اضافه شده است
- برای ارائه استقبال و تنظیم اولین بار ،
- تغییرات برای برگه های سفارشی :
- پشتیبانی اضافه شده برای ارائه سلسله مراتب
RemoteViews
برای نوار ابزار ثانویه - اضافه شده
CustomTabsClient.connectAndInitialize()
برای گرم کردن یک خط
- پشتیبانی اضافه شده برای ارائه سلسله مراتب
تجدید نظر 23.4.0
می 2016
- تغییرات برای کتابخانه پشتیبانی V4 :
- مسئله ثابت که قطعات به ترتیب اشتباه اضافه شده اند. ( شماره 206901 )
- مسئله ثابت که در آن نوار برنامه پس از پیمایش در صفحه نمایش ترسیم نشده است. ( شماره 178037 )
- تغییرات برای کتابخانه AppCompat V7 :
- اضافه شده
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
روش استفاده مجدد از کشش بردار در اشیاءDrawableContainer
در دستگاه های دارای Android 4.4 (API سطح 19) و پایین تر. برای اطلاعات بیشتر به AppCompat v23.2 - سن بردارها مراجعه کنید. - رفع مشکل در API 23 با
AppCompatDelegate.setDefaultNightMode()
بارگیری منابع صحیح در سطح API 23. ( شماره 206573 ) - مسئله ثابت که می تواند باعث
NullPointerException
شود. ( شماره 207638 )
- اضافه شده
- تغییرات برای کتابخانه پشتیبانی طراحی :
- مسئله ای را برطرف کرد که در آن
TextInputLayout
خطای خطای را پس ازsetErrorEnabled(false)
در سطح API 21 - 22 پاک نمی کند ( شماره 202829 ) - مسئله ای را برطرف کرد که هنگام غیرفعال شدن انیمیشن ها
FloatingActionButton
برنمی گردد. ( شماره 206416 ) - مسئله ثابت در عملکرد SNAP
AppBarLayout
هنگام استفاده از
پرچم هایscroll
|enterAlways
|enterAlwaysCollapsed
|snap
SCROLL. ( شماره 207398 )scroll
|enterAlways
|enterAlwaysCollapsed
| snap
- مسئله ای را برطرف کرد که در آن
- تغییرات برای کتابخانه قابل ترسیم بردار:
- رفع اشکالی که در آن
VectorDrawableCompat
به طور صحیح درTextView
در سطح API 23 ارائه نمی شود ( شماره 206227 )
- رفع اشکالی که در آن
تجدید نظر 23.3.0
آوریل 2016
- تغییرات برای کتابخانه پشتیبانی V4 :
- اضافه شده
AppLaunchChecker
برای کمک به ردیابی نحوه راه اندازی برنامه شما در گذشته توسط کاربر.hasStartedFromLauncher()
به شما امکان می دهد بدانید که آیا کاربر قبلاً برنامه شما را از صفحه اصلی راه اندازی کرده است یا اینکه فقط با روش های دیگر شروع شده است (برای مثال ، برای مشاهده URL های وب خاص). - رفع یک نشت حافظه در
MediaBrowserServiceCompat.mConnections
. ( شماره 205220 ) - مسئله ثابت که در آن
ViewPager
هنگام صفحه تلنگر ، حاشیه صفحه را به حساب نمی آورد. ( شماره 203816 ) -
Fragment.onRequestPermissionsResult()
اکنون به قطعات کودک تحویل داده می شود.
- اضافه شده
- تغییرات برای کتابخانه AppCompat V7 :
- مسئله ای را در
AppCompatSpinner
برطرف کرد که می تواند باعث ایجاد چندین پنجره شود. ( شماره 205052 ) - مسئله ای را که چگونه دکمه های بدون مرز رنگ آمیزی شده بود ، برطرف کرد. ( شماره 202967 )
- رفع یک مسئله سازگاری بین
AppCompatDialogFragment
وAlertDialog
. ( شماره 204805 ) - تغییرات برگشتی در
TintResources
که باعث ایجاد مشکلات حافظه و پیکربندی می شوند. ( شماره 205236 )
- مسئله ای را در
- تغییرات برای کتابخانه V7 Mediarouter :
- رفتار کشویی حجم
MediaRouteControllerDialog
. ( شماره 202299 )
- رفتار کشویی حجم
- تغییرات برای کتابخانه اولویت V7 :
- مسئله ثابت که در صورت مشخص شدن
PreferenceFragmentCompat
dividerHeight
ترجیح می دهد. ( شماره 204778 )
- مسئله ثابت که در صورت مشخص شدن
- تغییرات برای کتابخانه RecyClerview V7 :
- رفع اشکال در صورتی که دامنه وسایل قابل مشاهده کاهش یابد ،
RecyclerView
را فراخوانی نمی کند. ( شماره 200987 ) - رفع اشکال در جایی که
RecyclerView
اگر در چیدمان خطی باشد ، وزنه برداری می شود و دارای تصاویر بود. ( شماره 203276 ) - رفع یک تصادف در
OrientationHelper.getStartAfterPadding()
. ( شماره 180521 ) - سقوط با استفاده از
android:nestedScrollingEnabled
. ( شماره 197932 )
- رفع اشکال در صورتی که دامنه وسایل قابل مشاهده کاهش یابد ،
- تغییرات برای کتابخانه پشتیبانی طراحی :
- رفع اشکال در جایی که یک برگه پایین پنهان از وقایع لمسی برخوردار باشد. ( شماره 203654 )
- هنگامی که
fitsSystemWindows
درست است ، یک طرح چیدمان را باBottomSheetBehavior
برطرف کنید. ( شماره 203057 ) - مسئله دسترسی با
Snackbar
را برطرف کرد. ( شماره 182145 ) - تصادف را روی ضربه تند وشدید زدن
Snackbar
برطرف کرد. ( شماره 203924 ) - رفع اشکال در
AppBarLayout
باenterAlways
. ( شماره 203661 ) - رفع اشکال در جایی که
TextInputLayout
به طور غیر ضروری فیلتر رنگ پس زمینهEditText
را پاک می کند. ( شماره 203357 )
تجدید نظر 23.2.1
مارس 2016
- تغییرات برای کتابخانه پشتیبانی V4 :
- یک استثناء در
DrawableCompat.wrap()
وLayerDrawable
در سطح API 17 تا 19. ( شماره 201817 ) - رفع
ArrayIndexOutOfBoundsException
درViewDragHelper.shouldInterceptTouchEvent()
. ( شماره 182262 ) - رفع اشکال در
ViewPager
مربوط به محاسبه پیمایش برای تغییرات اندازه. - رفع یک
NullPointerException
هنگامی کهDrawerLayout.removeDrawerListener()
بدون یکDrawerLayout.DrawerListener
تنظیم شده نامیده می شود. ( شماره 202478 ) - رفع اشکال در جایی که
ViewPager
در هنگام پیمایش پارامترهایAccessibilityEvent
به درستی تنظیم نمی کند. - مسئله ای را برطرف کرد که در هنگام چرخش دستگاه هنگام استفاده از
Drawable.wrap()
تاخیر ایجاد کرد. ( شماره 201924 )
- یک استثناء در
- تغییرات برای کتابخانه 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 )
- وابستگی به دارایی های بردار به گونه ای که توسعه دهندگان با استفاده از کتابخانه APPCOMPAT مجبور به استفاده از پرچم
- تغییرات برای کتابخانه CardView V7 :
- پشتیبانی از حالت شب برای
CardView
اضافه شده است. ( شماره 194497 )
- پشتیبانی از حالت شب برای
- تغییرات برای کتابخانه RecyClerview V7 :
- اشکالات ثابت مربوط به روشهای مختلف اندازه گیری. ( شماره 201856 )
- دوره قفل را کاهش می دهد که در آن
RecyclerView
در هنگام محاسبه طرح یا پیمایش ، آداپتور را تغییر نمی دهد. ( شماره 202046 ) - هنگام تماس با
notifyItemChanged()
بر روی موردی که خارج از دید است ، تصادف را برطرف کرد. ( شماره 202136 ) - تصادف را برطرف کرد که هنگام
RecyclerView.LayoutManager
رخ می دهد. layoutmanager اضافه می کند و نمای را در همان پاس اندازه گیری حذف می کند. ( شماره 193958 )
- تغییرات برای کتابخانه V7 Mediarouter :
- سقوط یک تصادف که هنگام فراخوانی
MediaRouter.getInstance()
در سطح API 17. رخ می دهد ( شماره 180654 )
- سقوط یک تصادف که هنگام فراخوانی
- تغییرات برای کتابخانه 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 :
-
MediaRouteControllerDialog
اکنون به درستی رنگ های تم برنامه سفارشی را اعمال می کند.
-
- تغییرات برای کتابخانه پشتیبانی طراحی :
- پشتیبانی از برگه های پایین . یک افزونه تعامل ،
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 } }
- اگر در حال ساخت با افزونه Android برای Gradle 1.5.0 یا پایین تر هستید ، موارد زیر را به پرونده
- تغییرات برای کتابخانه 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); }
- برای سفارشی سازی بهتر یک API انیمیشن بهبود یافته به کلاس
- تغییرات برای کتابخانه پشتیبانی V7 ، V14 و V17 :
- API های حذف شده برای کنترل گفتگوی
EditText
.
- API های حذف شده برای کنترل گفتگوی
- تغییرات برای کتابخانه پشتیبانی 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 )
- با محدود کردن استفاده از لایه های سخت افزاری به Android 4.1 (سطح API 16) و بالاتر ، مشکلات تصادف ثابت برای کلاس
- تغییرات برای کتابخانه پشتیبانی طراحی:
- کلاس
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:
- روشهای
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
برای افزودن انیمیشن اضافه کرد.
- روشهای
- تغییرات برای کتابخانه AppCompat V7 :
- روش
onWindowStartingSupportActionMode()
را به کلاسهایAppCompatActivity
،AppCompatCallback
وAppCompatDialog
برای رسیدگی به حالت های عمل از پنجره فعلی اضافه کرد. - روشهای
isHandleNativeActionModesEnabled()
وsetHandleNativeActionModesEnabled()
به کلاسAppCompatDelegate
برای رسیدگی به حالت های عملکرد بومی اضافه شده است.
- روش
برای لیست کاملی از تغییرات کتابخانه پشتیبانی ، به گزارش تفاوتهای 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
اجرا می شود. - برای پشتیبانی از عملیات پیمایش و ارائه API های مربوط به پیمایش ، رابط های تو
ScrollingView
NestedScrollingParent
تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو در تو قرار گرفته و API های مربوط به پیمایش را ارائه می دهند. - روش
getNestedScrollAxes()
را به کلاسViewGroupCompat
اضافه کرد. - روشهای اضافه شده به کلاس
ViewParentCompat
برای پشتیبانی از پیمایش تو در تو. - کلاس
NestedScrollView
را برای حمایت از والدین و کودک پیمایشی تو در تو در نسخه های جدید و قدیمی اندروید اضافه کرد.
- کلاسهای یاور تو در
- روش ها و ثابت های اضافه شده به کلاس
MotionEventCompat
برای دریافت مقادیر محور و منبع رویداد. - کلاس
AccessibilityNodeInfoCompat
را به روز کرد تا روش هایی را برای خطاها ، بی اعتبار بودن محتوا و برچسب ها اضافه کند. - کلاسهای درون یابی زیر را برای انیمیشن اضافه کنید:
FastOutLinearInInterpolator
،FastOutSlowInInterpolator
،LinearOutSlowInInterpolator
،LinearOutSlowInInterpolator
وPathInterpolatorCompat
. - کلاس
Space
را برای ایجاد شکاف بین مؤلفه ها در چیدمان های هدف کلی اضافه کرد. این کلاس در کتابخانه GridLayout مستهلک می شود. - برای دسترسی به ویژگی ها در یک
TextView
، کلاسTextViewCompat
را اضافه کرد. - یک پارامتر جابجایی به روش
onPull()
در کلاسEdgeEffectCompat
اضافه کرد.
- کلاس
- تغییرات برای کتابخانه AppCompat V7 :
- Added tint support to appcompat widgets, including
AppCompatAutoCompleteTextView
,AppCompatButton
,AppCompatCheckBox
,AppCompatCheckedTextView
,AppCompatEditText
,AppCompatMultiAutoCompleteTextView
,AppCompatRadioButton
,AppCompatRatingBar
,AppCompatSpinner
, andAppCompatTextView
. -
AppCompatActivity
به عنوان کلاس پایه برای فعالیت هایی که از ویژگی های نوار اقدام کتابخانه پشتیبانی استفاده می کنند ، به روز کرد. این کلاس جایگزینActionBarActivity
مستهلک شده است. - اضافه شده رابط
AppCompatCallback
برای اجرای AppCompat برای انجام تماس های تماس تلفنی. - کلاس انتزاعی
AppCompatDelegate
را به عنوان نماینده ای اضافه کرد که می توانید برای گسترش پشتیبانی APPCOMPAT از هر فعالیتی استفاده کنید. - کلاس
AppCompatDialog
را به عنوان کلاس پایه گفتگوی مضمون AppCompat اضافه کرد. - کلاسهای
AlertDialog
وAlertDialog.Builder
را به سبک اسپینر اضافه کرد تا یکAlertDialog
با مضمون AppCompat ارائه شود. - برای تولید نمونه های
Palette
کلاسPalette.Builder
را اضافه کرد.- روش
from(Bitmap)
را به کلاسPalette
اضافه کرد تا شروع به تولید یک پالت با نمونهPalette.Builder
کنید. - روشهای
Palette.generate()
وPalette.generateAsync()
را کاهش داد.
- روش
- روش
getAbsoluteAlignment()
را به کلاسGridLayout.Spec
اضافه کرد. - استفاده مستهجن از
app:theme
برایToolbar
یک ظاهر طراحی شده. اکنون می توانید ازandroid:theme
برای نوار ابزار در تمام دستگاه های API سطح 7 و بالاتر وandroid:theme
برای همه ویجت ها در دستگاه های API سطح 11 و بالاتر.
- Added tint support to appcompat widgets, including
- تغییرات برای کتابخانه Leanback V17 :
- برای حمایت از ایجاد جریان تصمیم گیری چند مرحله ای ،
GuidedStepFragment
،GuidanceStylist
وGuidedActionsStylist
اضافه شده است.
- برای حمایت از ایجاد جریان تصمیم گیری چند مرحله ای ،
- تغییرات برای کتابخانه RecyClerview V7 :
- کلاسهای
SortedList
اضافه شده برای نمایش موارد در یک لیست لیست و ارائه اطلاع رسانی در مورد تغییرات در لیست. - کلاس
SortedListAdapterCallback
را اضافه کرد که می تواند یک لیست مرتب شده را به کلاسRecyclerView.Adapter
.
- کلاسهای
- تغییرات برای کتابخانه Renderscript V8 :
- کلاس
ScriptIntrinsicHistogram
را برای استفاده به عنوان یک فیلتر هیستوگرام اضافه کرد. - کلاس
ScriptIntrinsicResize
را برای انجام تغییر اندازه یک تخصیص 2D اضافه کرد.
- کلاس
- تغییرات برای کتابخانه پشتیبانی V4:
- روش
getDrawable()
را به روز کرد تا یک شیء قابل ترسیم را برای یک شناسه منبع خاص ، تراکم صفحه و موضوع بازگرداند. - روش
setImportantForAccessibility()
اضافه شده است تا بتوانید مشخص کنید که آیا یک دیدگاه باید باعث ایجاد حوادث دسترسی شود. - روش
getStatusBarBackgroundDrawable()
را اضافه کرد تا بتوانید پس زمینه نوار وضعیت را قابل ترسیم کنید. - روشهای اضافه شده به کلاس
NotificationCompat.CarExtender.UnreadConversation
کلاس بنابراین برنامه های پیام رسانی خودکار Android می توانند داده های اعلان اضافی را بازیابی کنند. - روش
getProgressCircleDiameter()
را برای بازگشت قطر یک طرح دایره اضافه کرد. - رنگ نوار وضعیت پیش فرض
DrawerLayout
را بهcolorPrimaryDark
تغییر داد.
- روش
- تغییرات برای کتابخانه AppCompat V7 :
- اضافه کردن سبک اسپینر
Base_Widget_AppCompat_Spinner_Underlined
. - ویجت های رنگی اضافه شده با
Widget_AppCompat_AutoCompleteTextView
،MultiAutoCompleteTextView
،TextAppearance_AppCompat_Button
وBase_Widget_AppCompat_RatingBar
اضافه شده است.
- اضافه کردن سبک اسپینر
- تغییرات برای کتابخانه Leanback V17 :
- روشهای
getRecycledPoolSize()
وsetRecycledPoolSize()
را اضافه کرد تا اندازه استخر بازیافت شده سفارشی را فراهم کند. - برای پشتیبانی از محتوای بسته بندی شده برای نمادهای عنوان ، ویژگی
WRAP_CONTENT
را به تنظیمات عرض چیدمان اضافه کرد. - تعریف شده
R.transition
در XML برای بهبود به روزرسانی های انتقال. - پشتیبانی از طرح های راست به چپ را فعال کرد.
- نمایشنامه و مکث رسانه های کلیدی را به کلاس
PlaybackOverlayFragment
اضافه کرد. - انتقال وارد و بازگشت به کلاس
BrowseFragment
و کلاسDetailsFragment
را اضافه کرد. - روش
replace()
را برای جایگزینی موارد در آرایه آداپتور شی اضافه کرد.
- روشهای
- تغییرات برای کتابخانه V7 Mediarouter :
- Updated Google Cast icons to use the material design style.
- Updated all the icons used in the
MediaRouter
dialogs to use the material design style.
- Changes for v7 recyclerview library :
- Added the
getlayoutPosition()
andgetadapterPosition()
methods to theRecyclerView
class. - Deprecated the
classgetChildPosition()
andfindViewHolderForPosition()
methods in theRecyclerView
class. - Deprecated the
getPosition()
method in theRecyclerView.ViewHolder
class. - Deprecated the
getViewPosition()
method in theRecyclerView.LayoutParams
class.
- Added the
- Changes for v4 support library:
- Added several
NotificationCompat.WearableExtender
methods to improve the display of barcodes in notifications on wearable devices.
- Added several
- Changes for v4 support library:
- Added
NotificationCompat.CarExtender
class to support Android Auto extensions to notifications.
- Added
- 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 thecommitIcon
. - Removed the
buttonGravity
attribute from theToolbar
class.
- Added the
- Changes for v7 cardview library :
- Added
setCardBackgroundColor(ColorStateList)
API to support changing the background color of theCardView
. - Changed the
CardView
to more accurately report its opacity value asTRANSLUCENT
.
- Added
- Changes for v7 recyclerview library :
- Added
TOUCH_SLOP_DEFAULT
andTOUCH_SLOP_PAGING
constants to theRecyclerView
class to support touch slop configurations for paging.
- Added
- Changes for v17 leanback library :
- Added support to generate v4 code fragments.
- Changed the secondary text color on
CardView
.
- Added multidex support library to support multiple Dalvik Executable (DEX) files for multi-dex file support prior to Android 5.0.
- 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 fromFile
while working with document trees. However, this class demands more processing overhead compared to the platform'sDocumentsContract
API added in Android 4.4 (API level 19). So you should switch to usingDocumentsContract
when running on Android 4.4 and higher.
- Added support for
- Changes for v7 appcompat library :
- Added support for material design user interfaces.
- Added
Toolbar
, which generalizes the functionality ofActionBar
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 theSwitch
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.
- Added the
- New v7 recyclerview library :
- Added the
RecyclerView
widget, which provides a flexible list view for providing a limited window into a large data set.
- Added the
- New v7 palette library :
- Added
Palette
class, which lets you extract prominent colors from an image.
- Added
- New v17 leanback library :
- Added support for building TV user interfaces, including
BrowseFragment
,DetailsFragment
, andPlaybackOverlayFragment
. For more information about using these user interface widgets, see Building TV Playback Apps .
- Added support for building TV user interfaces, including
- Changes for v4 support library:
- Added extended notification support for Android Wear in
NotificationCompat.WearableExtender
, which allows you to specify wearable-specific features in your notifications. - Added
NotificationCompat.Action.WearableExtender
, which allows actions to be added on wearable notifications. - Added
NotificationManagerCompat
, which allows you to issue notifications that properly support wearable features. - Added
RemoteInput
, which allows a handheld device to receive voice input from a notification that appears on a wearable device. - Improved the handling of touch feedback in
SwipeRefreshLayout
.
- Added extended notification support for Android Wear in
- 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.
- Added the
- Changes for v7 appcompat library:
- Fixed background issues with the action bar.
- Changes for v4 support library:
- Improved
PrintHelper
by adding asynchronous handling of printing. - Fixed the
DrawerLayout
class approximation of theaddChildrenForAccessibility()
method. - Fixed slide drawable mirroring in
ActionBarDrawerToggle
. - Fixed off-by-one issue when removing an item from a collection iterator.
- Improved
- Changes for v7 mediarouter library:
- Improved route identification by using full component name in the
MediaRouteProvider.ProviderMetadata
. - Updated
MediaRouteChooserDialog
to hide disabled routes.
- Improved route identification by using full component name in the
- Changes for v8 renderscript library
- Added error propagation for the RenderScript thunking layer.
- Changes for v4 support library:
- Added support for external Storage APIs with the
getObbDirs()
,getExternalFilesDirs()
,getExternalCacheDirs()
, andgetStorageState()
. These helper methods always return a single file object on devices running Android 4.3 (API level 18) and earlier. When running on Android 4.4 (API level 19) and higher, these methods may return more than one file object. - Added
PrintHelper
class that works with the Print APIs to print images with a minimum of code. - Added drag-to-open user interface support for pop-up menus. For more information, see
PopupMenuCompat
andListPopupWindowCompat
. - Improved accessibility support with the addition of a
findFocus()
method inAccessibilityNodeProviderCompat
and thegetLiveRegion()
method inAccessibilityNodeInfoCompat
. - Added helper class
ScaleGestureDetectorCompat
for accessing new scaling gesture methods. - Fixed problem with
ActionBarDrawerToggle
in right-to-left language displays. - Modified
AutoScrollHelper
option to consume touch events or allow them to be passed through to other views.
- Added support for external Storage APIs with the
- 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.
- 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
andSlidingPaneLayout
to not throw exceptions for measurement while the project code is being edited.
- Added
- قابلیت دسترسی
- Added
ExploreByTouchHelper
to simplify the implementation of accessibility for custom views. - Fixed a problem with
ViewPager
incorrectly populatingTYPE_VIEW_SCROLLED
accessibility events. - Fixed a null pointer exception in
ViewPager
when populating an accessibility event. - Simplified
AccessibilityNodeInfoCompat
by changingCharSequence
inputs toString
objects. - Deprecated an
AccessibilityRecordCompat
constructor that used anObject
as input.
- Added
- رسانه ها
- 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.
- Added
- تغییرات دیگر
- Added
WakefulBroadcastReceiver
helper class for implementing a common pattern of detecting a device wakeup event and passing work off to aService
while ensuring that the device does not go back to sleep before the handoff is complete. - Added two new APIs,
commitContentChanged()
androllbackContentChanged()
, toAsyncTaskLoader
to help deal with background updates for data changes that are subsequently canceled.
- Added
- رابط کاربری
- 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 newActionBarActivity
class.
- Added
- 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 .
- Changes for v4 support library:
- Added
DrawerLayout
for creating a Navigation Drawer that can be pulled in from the edge of a window. - Added
SlidingPaneLayout
widget for creating linked summary and detail views that appropriately adapt to various screen sizes. - Added
ActionBarDrawerToggle
as a way to tie together the functions ofDrawerLayout
andActionBar
. - Added
ViewDragHelper
as a new common component for dragging views within a parent view. - Added
ScrollerCompat
to provideScroller
andOverScroller
compatibility support. - Added
FileProvider
to allow sharing of private files between applications. - Updated
ViewPager
to throw an exception if the associatedPagerAdapter
class is modified without a call tonotifyDataSetChanged()
. - Fixed an issue with
ViewPager
children drawing sort order. - Fixed
GestureDetectorCompat
to dispatch missingonSingleTapConfirmed(MotionEvent)
calls between tap timeout and long press events.
- Added
- New v7 gridlayout library:
- Added
GridLayout
to provide support for theGridLayout
layout object. - Added
android.support.v7.widget.Space
which can be used to create blank areas within aGridLayout
layout object.
- Added
- 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 forViewPager
. - 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.
- Improved interaction behavior for
- Changes for v4 support library:
- رابط کاربری
- Added support for nested
Fragment
classes. - Added improvements to
FragmentManager
debugging. - Fixed problem in
FragmentTabHost
where fragment and tab interaction could result in aListView
state loss. - Fixed issue with user-visible hint in
FragmentStatePagerAdapter
. - Added
PageTransformer
interface toViewPager
to allow applications to supply a custom transition behavior for scrolling. - Added new features and fixes to
TaskStackBuilder
from current release. - Fixed
PagerTitleStrip
to correctly track thePagerAdapter
currently in use. - Fixed display flickering, positioning, and text clipping problems with
PagerTitleStrip
. - Fixed
PagerTabStrip
to properly respect padding when drawing an underline.
- Added support for nested
- قابلیت دسترسی
- Added support for new accessibility gesture and touch event types in
AccessibilityEventCompat
. - Added support for new accessibility APIs in
ViewCompat
. - Added support for
performAccessibilityAction()
method toViewCompat
.
- Added support for new accessibility gesture and touch event types in
- Added support for gestures with
GestureDetectorCompat
. - Added support for performing atomic operations on files using a new
AtomicFile
class. - Added support for the full set of
make
methods inIntentCompat
. - Added
trimToSize()
method inLruCache
utility class. - Updated
ConnectivityManagerCompat
to get NetworkInfo from aCONNECTIVITY_ACTION
broadcast.
- رابط کاربری
- Changes for v4 support library:
- Added support for notification features introduced in Android 4.1 (API level 16) with additions to
NotificationCompat
.
- Added support for notification features introduced in Android 4.1 (API level 16) with additions to
- Changes for v4 support library:
- User Interface Support
- Added
PagerTabStrip
support, providing enhanced functionality beyondPagerTitleStrip
. - Fixed various bugs for
PagerTitleStrip
andPagerTabStrip
, includingsetAllCaps
option, title alignment, appearance improvements, minimum width constraints and touch navigation issues. - Added support for
ViewPager
page gutters, which helps theViewPager
class provide paging support for content with a large horizontal scroll range, such as a map. - Fixed numerous bugs for
ViewPager
, including size and data set change problems, page positioning, user interaction, scroll tracking and keyboard navigation problems. - Fixed many bugs for
Fragment
, including proper handling ofonActivityResult()
when the target fragment no longer exists, dispatching selection events to invisible fragments, improvedFragmentTransaction.replace()
behavior and added better state handling for fragments being moved out of view. - Added support for the
postOnAnimation()
method inViewCompat
. - Updated
NavUtils
to use Android 4.1 (API level 16) Up navigation functionality when available.
- Added
- قابلیت دسترسی
- Updated accessibility support classes, including
AccessibilityNodeInfoCompat
, to follow fixes made in Android 4.1 (API level 16). - Added support for accessibility scroll actions in
ViewPager
.
- Updated accessibility support classes, including
- General improvements
- Updated
TaskStackBuilder
to reflect API changes in Android 4.1 (API level 16). - Enhanced
TaskStackBuilder
to allow it to be used from a Service. - Added support for
EXTRA_HTML_TEXT
toShareCompat
. - Updated
NotificationCompat.Builder
to support thesetNumber()
method. - Added support in
ConnectivityManagerCompat
for theisActiveNetworkMetered()
method.
- Updated
- User Interface Support
- Changes for v4 support library:
- Fixed intent flags for
PendingIntent
objects generated byTaskStackBuilder
. - 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.
- Fixed intent flags for
- 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 newShareActionProvider
in Android 4.0. - Added
NavUtils
andTaskStackBuilder
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'sNotification.Builder
helper class for creating standardized system notifications.
- Added
- 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.
- Added extra decorative view support for
- Support for Fragments:
- Changed
setStartDeferred()
method tosetUserVisibleHint(boolean)
. - Added deferred start for off-screen pages to improve performance.
- Changed
- Support for Accessibility APIs:
- Updated
AccessibilityDelegateCompat
methods to return empty lists instead of null. - Added new APIs needed by the v4 samples.
- Updated
- Changes to ViewPager:
- Changes for v4 support library:
- Support for Accessibility APIs:
- Added
AccessibilityDelegateCompat
to supportView.AccessibilityDelegate
. - Added
AccessibilityEventCompat
to supportAccessibilityEvent
. - Added
AccessibilityManagerCompat
to supportAccessibilityManager
. - Added
AccessibilityNodeInfoCompat
to supportAccessibilityNodeInfo
. - Added
AccessibilityRecordCompat
to supportAccessibilityRecord
. - Added
AccessibilityServiceInfoCompat
to supportAccessibilityServiceInfo
. - Added
ViewGroupCompat
to support accessibility features inViewGroup
. - Modified
ViewCompat
to support accessibility features inView
.
- Added
- Changes to ViewPager:
- Added support for margins between pages. An optional
Drawable
can be provided to fill the margins. - Added support for
EdgeEffect
. - Added support for keyboard navigation
- Added support to control how many pages are kept to either side of the current page.
- Improved touch physics.
- Bug fixes for user interface behavior.
- Added support for margins between pages. An optional
- Support for Accessibility APIs:
- Changes for v4 support library:
- Added
EdgeEffectCompat
to supportEdgeEffect
. - 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 forView
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. - Various bug fixes.
- Fixed a
Loader
bug that caused issues in cancelingAsyncTask
s when running on Froyo and older versions of the platform. The support code now uses its own version ofAsyncTask
to keep the same behavior on all platform versions.
- Added
- Changes for v4 support library:
- Adds support for
Fragment.SavedState
- Adds
MotionEventCompat
to support newerMotionEvent
APIs - Adds
VelocityTrackerCompat
to support a newerVelocityTracker
APIs - Adds
ViewConfigurationCompat
to support a newerViewConfiguration
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
: AViewGroup
that manages the layout for the child views, which the user can swipe between. -
PagerAdapter
: An adapter that populates theViewPager
with the views that represent each page. -
FragmentPagerAdapter
: An extension ofPagerAdapter
for flipping between fragments. -
FragmentStatePagerAdapter
: An extension ofPagerAdapter
for flipping between fragments that uses the library's support forFragment.SavedState
.
-
- Adds support for
- New v13 support library:
- Includes the
FragmentPagerAdapter
andFragmentStatePagerAdapter
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).
- Includes the
- Changes for v4 library:
- Support for fragment animations
- Fix
Fragment.onActivityResult()
bug
تجدید نظر 22
مارس 2015
Revision 21.0.3
دسامبر 2014
Revision 21.0.2
نوامبر 2014
Revision 21.0.1
نوامبر 2014
Revision 21
اکتبر 2014
Revision 20
جولای 2014
Revision 19.1.0
مارس 2014
Revision 19.0.1
دسامبر 2013
Revision 19
اکتبر 2013
Revision 18
جولای 2013
Revision 13
می 2013
Revision 12
فوریه 2013
Revision 11
نوامبر 2012
Revision 10
آگوست 2012
ویرایش 9
ژوئن 2012
Revision 8
آوریل 2012
ویرایش 7
مارس 2012
Revision 6
دسامبر 2011
Note: Reference for support library APIs are now available with the framework references, for example: android.support.v4.app
.
ویرایش 5
دسامبر 2011
Revision 4
اکتبر 2011
Revision 3
جولای 2011
تجدید نظر 2
می 2011
تجدید نظر 1
مارس 2011
Initial release with the v4 library.