تعرض هذه الصفحة تفاصيل حول الإصدارات القديمة من حزمة "مكتبة الدعم". بالنسبة أحدث الإصدارات من Support Library (مكتبة الدعم)، راجِع قسم قسم دعم النُسخ السابقة من المكتبة
الإصدار 26.0.0 التجريبي 2
(حزيران (يونيو) 2017)
تجدر الإشارة إلى أنّ الإصدار 26.0.0-beta2 هو إصدار تجريبي. وسطح واجهة برمجة التطبيقات عرضة للتغيير، ولا تتضمن بالضرورة ميزات أو إصلاحات للأخطاء من أحدث إصدارات ثابتة من Support Library.
ملاحظة مهمة: تتوفر مكتبات الدعم الآن. من خلال مستودع Maven التابع لشركة Google ليس عليك تنزيل الدعم. المستودع من "مدير حِزم تطوير البرامج (SDK)". لمزيد من المعلومات، يُرجى مراجعة إعداد مكتبة الدعم:
واجهات برمجة تطبيقات جديدة
- صف
JobIntentService
جديد للمساعدة يُحدّد المطوّرون موعدًا للمهام بطريقة تتوافق مع نظام Android O الجديد حدود التنفيذ في الخلفية.
الاختلافات في واجهة برمجة التطبيقات
إصلاح الأخطاء
- فقدان حزمة تطوير البرامج (SDK) لنظام التشغيل Android يؤدي إلى فقدان النصوص المائلة في TextViews
- استثناء المؤشر "فارغ" عند الاتصال بـ MediaBrowserServiceCompat
- يجب أن يضبط TextInputLayout تلميحات على onProvideAutofill المشاهدون() .
- تجاوز التكديس عند استخدام الحجم التلقائي لـ TextView على O
الإصدار 26.0.0 التجريبي 1
(أيار (مايو) 2017)
يُرجى العلم أنّ الإصدار 26.0.0-beta1 هو إصدار تجريبي. وسطح واجهة برمجة التطبيقات عرضة للتغيير، ولا تتضمّن بالضرورة ميزات أو إصلاحات للأخطاء من أحدث إصدارات ثابتة من Support Library.
ملاحظة مهمة: تتوفر مكتبات الدعم الآن. من خلال مستودع 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()
- عند استخدام اللغة المصدر في Java 8، يتطلب ذلك إرسالًا صريحًا إلى
View
عندما يكون نوع الإرجاع غير مقيّد (على سبيل المثال،assertNotNull(findViewById(...)).someViewMethod())
- إلغاء طرق
findViewById()
غير النهائية (لـ مثال،Activity.findViewById()
) سيحتاج إلى إرجاعه تم تحديث النوع.
- وقد ينتج عن ذلك الكود الحالي الذي أصبح من الواضح الآن نوع الإرجاع،
على سبيل المثال، إذا كان هناك كل من
واجهات برمجة تطبيقات جديدة
-
لدى
FragmentManager
وFragment
isStateSaved()
للسماح بالاستعلام عما إذا كان سيتم السماح بالمعاملات بدون فقدان الولاية. هذا مفيد بشكل خاص للتحقّق عند التعامل مع حدثonClick()
قبل تنفيذ أي معاملة. - حركة المسار متاحة في
AnimatedVectorDrawableCompat
. تتيح حركة المسار لصانع رسوم متحركة لجسم واحد تغيير خاصيتين في نفس الوقت على أساس مسار واحد؛ يتم تحديد المسار على أنهandroid:pathData
في ملف XML الخاص بصانع الصور المتحركة). - مستندة إلى الفيزياء
الرسوم المتحركة:
FlingAnimation
جديد يتيح استخدام الصور المتحركة السرعة الأولية ويبطئ بسلاسة.- تتيح الفئات الفرعية من
DynamicAnimation
استخدام الصور المتحركة المخصّصة. لأي كائن. - بإمكان كل من
SpringAnimation
وFlingAnimation
تنفيذ ما يلي: تحريك قيمة عائمة الآن بدون الحاجة إلى السمةView
أوObject
المرتبط بها.
لمزيد من المعلومات، يُرجى الاطّلاع على صور متحركة لربيع وتحريك الصور المتحركة صفحات المعاينة.
-
الخط
دعم بتنسيق XML:
-
يسمح
ResourcesCompat.getFont
بتحميل الخط التي يمكن استخدامها مع ملفات XML الخاصة بمجموعة الخطوط،TextView.setTypeface()
- عند استخدام AppCompat، يتيح TextView تحديد مورد الخط أو
مجموعة الخطوط بتنسيق XML من خلال سمة XML
android:fontFamily
. - استخدِم مجموعة خطوط 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 لا تعمل الخدمات إلا على الإصدار 11 من خدمات Google Play أو الإصدارات الأحدث، وهو حاليًا متاحة من خلال Google Play البرنامج التجريبي للخدمات.
إصلاح الأخطاء
-
واجهة برمجة تطبيقات
MediaBrowserCompat.search()
لا تعمل (مشكلة في AOSP 262170) -
طرح
ViewCompat.postInvalidateOnAnimation()
استثناءً (AOSP) المشكلة 80146) -
تم استدعاء
onActivityCreated()
للأجزاء في النشاط الذي تم إتلافه. -
يجب أن تكون قيمة
RecyclerView.isComputingLayout()
هي "صحيح" خلال جلب مسبق -
عند مقاطعة عملية انتقال
Fade
وعكسها، يبدأView
الصورة المتحركة من البداية. (إصلاح تم نقله من إطار عمل Android). -
Transition.Fade
يتجاهل ألفا الأولى منView
(مشكلة في بروتوكول AOSP 221820)
مراجعة 26.0.0 ألفا 1
(آذار (مارس) 2017)
يُرجى ملاحظة أن 26.0.0-alpha1 هو إصدار تجريبي. وسطح واجهة برمجة التطبيقات عرضة للتغيير، ولا تتضمّن بالضرورة ميزات أو إصلاحات للأخطاء من أحدث إصدارات ثابتة من Support Library.
تغييرات مهمة
ملاحظة: تمت زيادة الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) إلى 14. ونتيجة لذلك، فإن العديد من واجهات برمجة التطبيقات التي كانت موجودة فقط لواجهة برمجة التطبيقات < 14 توافقًا نهائيًا. على عملاء واجهات برمجة التطبيقات هذه نقل البيانات إلى إطار العمل الخاص بهم. كما هو موضح في الصفحة المرجعية لكل واجهة برمجة تطبيقات تم إيقافها نهائيًا.
- تم إيقاف وحدة النسبة المئوية للدعم نهائيًا. عملاء هذه الوحدة إلى أداة ConstraintLayout الجديدة، والتي يتم توفيرها عنصر منفصل في أداة "مدير SDK"
- لم تعد وحدة جزء الدعم تعتمد على support-media-compat.
واجهات برمجة تطبيقات جديدة
تمت إضافة العديد من الفئات والطرق والثوابت الجديدة لتوفير دعم متوافق مع الإصدارات القديمة لواجهات برمجة تطبيقات النظام الأساسي التي تمت إضافتها في معاينة O.
IME_FLAG_NO_PERSONALIZED_LEARNING
: بإمكان أدوات IME الاستماع إلى "عدم التعلم" علامات للتطبيقات التي وفّرت وضع خاص، مثل المتصفّحات. هذا النمط أدوات تحرير أسلوب الإدخال في معرفة ما إذا كان التطبيق في الوضع الخاص، حتى يتمكنوا من إيقاف التعلّم أو الوظائف التكيُّفية أثناء تشغيل التطبيق الحالي.
للحصول على قائمة كاملة بتغييرات واجهة برمجة التطبيقات بين الإصدار 25.2.0 و26.0.0-alpha1، يمكنك الاطّلاع على واجهة برمجة تطبيقات مكتبة الدعم تقرير الاختلافات
إصلاح الأخطاء
- في بعض الحالات، تكون قيمة
AutoTransition
بسيطة يمكن مقاطعة الرسوم المتحركة من خلال عرض "يقفز". (مشكلة في بروتوكول AOSP 221816)
مراجعة 25.4.0
(حزيران (يونيو) 2017)
ملاحظة مهمة: تتوفر مكتبات الدعم الآن. من خلال مستودع Maven التابع لشركة Google ليس عليك تنزيل الدعم. المستودع من "مدير حِزم تطوير البرامج (SDK)". لمزيد من المعلومات، يُرجى مراجعة إعداد مكتبة الدعم:
تغييرات مهمة
- لا يُسمح بمكالمات
executePendingTransactions()
وcommitNow()
وpopBackStackImmediate()
وطلبات معاملات مشابهة أثناء تم تغيير حالةFragmentManager
. مشترك جديد إنّ تنفيذ المعاملات غير آمن، ويفرض تطبيقFragmentManager
ذلك الآن أثناء حالته. التغييرات. - بالتزامن مع إصدار مكتبة الدعم هذا، سنطرح أيضًا
multidex
الإصدار 1.0.2. يتضمّن هذا الإصدار التغييرات المهمة التالية:
- يسمح هذا البروتوكول بتصدير بيانات حزمة APK الخاصة بأدوات القياس.
- إيقاف MultiDexTestRunner نهائيًا (يجب استخدام AndroidJUnitRunner بدلاً من ذلك).
- تقديم حماية أفضل من بعض عمليات الاستخراج غير الصالحة للأرشيف إدارة التطبيق.
- إصلاح الخطأ الذي قد يؤدي إلى التخلي عن الملفات المؤقتة.
- تتيح هذه الميزة إجراء عملية التثبيت بشكل أسرع عند تنفيذها في عملية متزامنة.
- أصلح خطأ تثبيت واجهة برمجة التطبيقات 19 و20.
واجهات برمجة التطبيقات الجديدة والمعدّلة
يتوفّر تحويل المسار واستكمال المسار في AnimatedVectorDrawableCompat
. تحوّل المسار
للسماح بتغيير الأشكال من مسار واحد (تم تحديد ذلك
android:valueFrom
) إلى مسار آخر (تم تحديده على أنّه
android:valueTo
)، بهدف توفير عناصر مرئية معقدة وجذابة
التأثيرات. يسمح استقراء المسار بتحديد عوامل الاستيفاء في المسار AnimatedVectorDrawableCompat
كمسارات (يتم تحديدها كـ android:pathData
في أداة التحميل التلقائي)
XML).
الاختلافات في واجهة برمجة التطبيقات
المشاكل التي تم إصلاحها
- استثناء المؤشر "فارغ" عند الاتصال بـ MediaBrowserServiceCompat
- واجهة برمجة التطبيقات MediaBrowserCompat.search() لا تعمل (مشكلة AOSP 262170)
- تصفحFragment onItemClicked معاودة الاتصال معطلة في 25.3.0
- NullPointerException أثناء التمرير لأعلى ولأسفل في VerticalGridView في 1.3.25
- ClassCastException في SimpleArrayMap.allocArrays()
المراجعة 25.3.1
(آذار (مارس) 2017)
المشاكل التي تم إصلاحها
- يتطلب
SwitchCompat
الحد الأدنى من حزمة تطوير البرامج (SDK) من الإصدار 14 أو إصدار أحدث. (مشكلة في بروتوكول AOSP 251302) - تتخطّى الصورة المتحركة
updateListener
المستندة إلى الفيزياء الإطار الأول. - صورة متحركة للتصنيف
BottomNavigationView
هناك عطل.
مراجعة 25.3.0
(آذار (مارس) 2017)
تغييرات مهمة
ستتم تلقائيًا إضافة البيانات الوصفية لإصدار مكتبة الدعم إلى
AndroidManifest.xml
عند الإنشاء من Gradle، والذي يبسط
إصدارات التتبع في الإصدارات العامة. مثلاً:
<meta-data android:name="android.support.VERSION" android:value="25.3.0" />
عمليات الإيقاف نهائيًا
تم إيقاف عدد من الطرق والفئات في هذا الإصدار. ستتم إزالة واجهات برمجة التطبيقات المتوقّفة نهائيًا في إصدار مستقبلي، وعلى المطوّرين تنفيذ هذا الإجراء. وتنتقل بعيدًا عنها. لمزيد من المعلومات حول كيفية الانتقال من واجهة برمجة تطبيقات (API) محددة، راجع وثائقها.
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()
مرجع للتفاصيل.
المشاكل التي تم إصلاحها
- رمية "
StaggeredGridLayoutManager
"IllegalArgumentException
(مشكلة AOSP 230295) - لا يتعامل الجلب المُسبَق من قِبل
RecyclerView
بشكل صحيح معRecyclerView
المرفق ولكن ليس على الشاشة. - لم تتعرّف Robolectric على
LinearLayout
. - عند تلف
Activity
، يتم استدعاءonActivityCreated()
بشكل غير صحيح للأجزاء - تسبب الدالة الإنشائية
AppCompatImageView
فيArrayIndexOutOfBoundsException
- أداء ضعيف لواجهة المستخدم خلال عملية نقل النشاط على "
Call.Details
"
مراجعة 25.2.0
(شباط (فبراير) 2017)
تغييرات مهمة
المشاكل التي تم إصلاحها
- يعالج هذا الإصدار مشكلة خطيرة في جهاز توجيه الوسائط يتم فيها استخدام A2DP. واجهات برمجة التطبيقات لتوجيه الأجهزة والوسائط إلى توقف الجهاز عن الاستجابة، مما يتطلب إعادة التشغيل.
FragmentManager.FragmentLifecycleCallbacks
الفئة ثابتة الآن.
المشاكل التي تم إصلاحها
- يؤدي عرض عرض تقديمي للشرائح باستخدام النسخ المطابق للشاشة إلى جعل الجهاز قطع الاتصال بشبكة Wi-Fi
- لم يتعامل زر الوسائط بشكل صحيح مع تطبيقات الوسائط التي لم يتم تسجيلها.
أنفسهم باستخدام
setMediaButtonReceiver()
-
خطأ واحد (
VectorDrawable
) في مورد السلسلة (مشكلة AOSP 232407) - تلميح
TextInputLayout
للتراكب و النص في حال ضبط النص باستخدام XML (مشكلة AOSP 230171) - تسرّب الذاكرة في
MediaControllerCompat
(مشكلة في AOSP 231441) -
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
التعطّل - عطلان (
RecyclerView
) أثناء إعادة التدوير الملفان الشخصيان (مشكلة AOSP 225762) - تعرض الدالة
getAllowGeneratedReplies()
القيمة "خطأ" بشكل غير صحيح للإجراءات داخلWearableExtender
المراجعة 25.1.1
(كانون الثاني/يناير 2017)
ملاحظة مهمة: هناك خطأ معروف في android.support.v7.media.MediaRouter
.
الفصل الدراسي في المراجعة 25.1.1 و25.1.0 من مكتبة الدعم. إذا كان تطبيقك يستخدم
والإصدار 7 من MediaRouter
،
يجب التحديث إلى الإصدار 25.2.0 من Support Library Revision،
مما يصلح هذا الخطأ.
تغييرات مهمة
-
يمكن الآن تحسين المعاملات التجزئة داخل وعبر المعاملات. يمكن أن يؤدي تحسين عمليات المعاملات المجزأة إلى إزالة العمليات التي يتم إلغاؤها. على سبيل المثال، لنفترض أن هناك معاملتين معًا، بحيث يضيف الجزء A والجزء الثاني الذي يستبدل الجزء A بالجزء B. في هذه الحالة، تتم العملية الأولى مُلغاة، وإضافة الجزء "ب" فقط. هذا يعني أن الجزء قد لا يمرّ المستخدم بمراحل عملية الإنشاء أو التدمير.
ومن الآثار الجانبية لهذا التحسين هو أنه قد تكون للأجزاء حالة التغييرات خارج الترتيب المتوقع. على سبيل المثال، لنفترض أن هناك معاملة واحدة يضيف الجزء A، يضيف الجزء B، ويضيف الثالث الجزء B، ثم يزيل الجزء الثالث الجزء إيه. وبدون التحسين، يمكن أن يتوقع الجزء "ب" أنه أثناء تم الإنشاء، سيتواجد الجزء A أيضًا بسبب إزالة الجزء A بعد إضافة الجزء B. مع التحسين، لا يمكن التأكد من الجزء "ب" سيكون هذا الجزء A موجودًا أثناء إنشاء الجزء B، لأن الجزء A قد تتم إزالة الإنشاء والتدمير من خلال عملية التحسين.
تكون عملية التحسين هذه غير مفعَّلة تلقائيًا. لتفعيل التحسين، الاتصال بخدمة
FragmentTransaction.setAllowOptimization(true)
- يمكن للأجزاء الآن تأجيل عمليات النقل والرسوم المتحركة الخاصة بها حتى
جاهزة باستخدام
Fragment.postponeEnterTransition()
وFragment.startPostponedEnterTransition()
. تشبه واجهة برمجة التطبيقات هذه واجهة برمجة التطبيقاتActivity.postponeEnterTransition()
وActivity.startPostponedEnterTransition()
المستخدَمة مع عمليات نقل الأنشطة.
المشاكل التي تم إصلاحها
-
تعذّر تنفيذ الإجراء "
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
" على واجهة برمجة التطبيقات 15 - "لقطات الشاشة" يتم التركيز على أعلى الشاشة
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()
الأعطال على واجهة برمجة التطبيقات 15 -
setActions()
فيonSubactionClicked()
معطّلة -
تعطُّل
RecyclerView
عند إعادة تدوير بعض حوامل العرض
المراجعة 25.1.0
(كانون الأول (ديسمبر) 2016)
ملاحظة مهمة: هناك خطأ معروف في android.support.v7.media.MediaRouter
.
الفصل الدراسي في المراجعة 25.1.1 و25.1.0 من مكتبة الدعم. إذا كان تطبيقك يستخدم
والإصدار 7 من MediaRouter
،
يجب التحديث إلى الإصدار 25.2.0 من Support Library Revision،
مما يصلح هذا الخطأ.
تغييرات مهمة
- عملاء تطبيقات
RecyclerView
المصغّرة المدمجة (على سبيل المثال، قائمة التمرير الرأسي لقوائم التمرير الأفقي) يمكن أن الاستفادة الكبيرة من مزايا الأداء من خلال توضيح عدد مدراء التنسيق الداخلية لأدواتRecyclerView
العناصر للتحضير قبل التمرير على الشاشة. اتصلLinearLayoutManager.setInitialPrefetchItemCount(N)
, حيث N هو عدد المشاهدات المرئية لكل عنصر داخلي. على سبيل المثال: إذا كانت القوائم الأفقية الداخلية تعرض ما لا يقل عن ثلاث مشاهدات ونصف للعناصر يمكنك تحسين الأداء من خلال إجراءLinearLayoutManager.setInitialPrefetchItemCount(4)
إجراء ذلك يسمح لـRecyclerView
بإنشاء جميع مشاهدة مبكرة، بينما مشاهدة الفيديو الخارجيRecyclerView
هو التمرير، مما يقلل بشكل كبير من مقدار التقطُّع أثناء التمريرات. FragmentActivity.setSupportMediaController()
وFragmentActivity.getSupportMediaController()
تم إيقافها نهائيًا. يُرجى استخدام الثابتَين الجديدَينMediaControllerCompat.setMediaController()
وMediaControllerCompat.getMediaController()
. الطرق.- عندما يحدِّد العميل درجة لون التطبيق المصغّر من خلال تلوين التطبيق (على سبيل المثال،
appcompat:buttonTint
)، يكون العميل مسؤولاً عن تقديم جميع الحالات اللازمة (مثل "غير مفعّلة" أو "تم الضغط عليها" وما إلى ذلك). هذا هو متناسقة مع طريقة تحديد درجات الألوان المصغّرة للأداة عند استخدام تعديل إطار العمل.
واجهات برمجة التطبيقات الجديدة والمعدّلة
- تمت إضافة دعم ExifInterface. المكتبة. هذه المكتبة لإلغاء تجميع الدعم لقراءة معلومات Exif من JPEG وتنسيقها غير المنسّق وإعداد معلومات Exif على ملفات صور JPEG.
- تمت إعادة ضبط "
Snackbar
" لتصبح السماح للتطبيقات بعرض محتوى مخصص.BaseTransientBottomBar
هي الفئة الأساسية الجديدة التي تعرض الانزلاق العام وسلوك الرسوم المتحركة. - تمت إضافة حزمة leanback.media الجديدة التي تحتوي على صفوف مساعدة لدمج مشغّلات الوسائط في تطبيقات Android TV.
- تمت إضافة
SeekBarPreference
. مع تنسيق وسمات قابلة للتخصيص إلى تفضيل الإصدار 7 للحصول على الدعم اللازم - تمت إضافة
ArraySet
. إلى مكتبة دعم الإصدار 4. تتجاوب هذه الفئة مع إطار العمل فئةArraySet
تم استبدالها بالمستوى 23 من واجهة برمجة التطبيقات - عنصر واحد (
RecyclerView
) لإعادة التدوير تحسينات الجلب المسبق:- جلب مُسبَق لميزة "
RecyclerView
" المُدمَج تفعيل الجلب المُسبَق للمحتوى منRecyclerView
ضمنRecyclerView
يتم تمريره مسبقًا، مع واجهة برمجة التطبيقات للتحكّم في مقدار يتم الجلب المسبق: - واجهات برمجة التطبيقات التي تمت إضافتها إلى
LayoutManager
المخصّص الكائنات المطلوب تنفيذها لتفعيل الجلب المسبق أثناء التمرير والانتقالات - تحسينات على الجلب المسبق للقيام فقط بنفس قدر عمل الإنشاء/الربط من الممكن في الفترة الزمنية بين الإطارات
- جلب مُسبَق لميزة "
المشاكل التي تم إصلاحها
- تعذّر إيقاف إمكانية رؤية كلمة المرور في اختبارات إمكانية الوصول.
- لا يحترم Appcompat
state_enabled
على الأجهزة التي تعمل بالإصدارات الأقدم من Android. - تمت إضافة آلية استعادة التركيز إلى
RecyclerView
. تفضيل الدعم الثابت هذا أيضًا تركيز غير مكتمل عند استخدام أزرار الاتجاهات، كما هو الحال في Android TV الأجهزة. - Leanback: يتعطّل التصفح Fragment مع إيقاف الرؤوس والمحوّل الفارغ.
- Appcompat:
AlertDialog
عريض جدًا. - مكالمتان (
InputContentInfoCompat
)requestPermission()
عند الاتصال بـreleasePermission()
. MediaBrowserCompat
عطل.- يقيس CoordinatorLayout طرق العرض عند تعيين مستوى الرؤية على
GONE
- تعذّر تلوين
AnimatedVectorDrawableCompat
على مستوى واجهة برمجة التطبيقات. أقل من 24 - تعرض مكتبة Leanback أخطاء الوبر الزائفة
- تسببت مكتبة لوحات الألوان في إخفاق الاختبار في كل مستوى من مستويات واجهة برمجة التطبيقات.
RecyclerView
اختبار فاشل على Leanback- عطلان (
RecyclerView
) أثناء إعادة التدوير الملفان الشخصيان (مشكلة AOSP 225762) Fragment.onDestroy()
لا يتم استدعاؤه للجزء في Backstack- حجم التمويه الخاص بـ
CollapsingToolbarLayout
هو غير مرسوم عند التصغير CoordinatorLayout.offsetChildByInset()
رمياتIllegalArgumentException
- جارٍ فصل
RecyclerView
عناصر متحركةRecyclerView
داخلية، منع المستقبل يجلب مسبقًا - لا يمكن تحميل
RecyclerView
عنصر جلب مدمج مسبقًا - الجلب المسبق للبيانات لـ
RecyclerView
المدمَجة تم تجاهل العناصر أثناء التصميم الأول - تعذُّر الجلب المُسبَق لـ
RecyclerView
في حال السحب مرتين الأحداث تصل في نفس الموضع - على "
RecyclerView
" توقُّع. التنسيق أثناء عرض RenderThread - لا يتم دائمًا تحويل موارد الألوان التي تم ضبطها في الليل إلى "رسومات قابلة للرسم". تمت الإزالة نهائيًا بشكل صحيح من ذاكرة التخزين المؤقت للموارد
FloatingActionButton
: عدم عمل إعداد BackgroundTintList آليًا بشكل صحيح (AOSP) المشكلة 227428)TextInputLayout
: الخط الطباعي ليس بدء الإعداد في errorView (مشكلة AOSP 227803)- يتراجع
TextInputLayout
دائمًا لون ضوء الخطأ أقل من واجهة برمجة التطبيقات 23 (مشكلة AOSP 221992) - يظهر "
FloatingActionButton
" بشكل يتم الضغط عليه عند مغادرة المؤشر
تتوفر قائمة كاملة بإصلاحات الأخطاء العامة على أداة تتبُّع مشاكل AOSP
عمليات الإيقاف نهائيًا
تم إيقاف عدد من الطرق والفئات في هذا الإصدار. هذه ستتم إزالة واجهات برمجة التطبيقات المتوقّفة نهائيًا في إصدار مستقبلي، وعلى مطوّري البرامج وتنتقل بعيدًا عنها. لمزيد من المعلومات حول كيفية الانتقال من واجهة برمجة تطبيقات (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
الآن بشكل افتراضي لتجنب الاستبدال بدون داعٍ عناصر قابلة للرسم النهائي يحدّدها المطوِّر قد يتم تفعيلها يدويًا عبر سمة XML:passwordToggleEnabled
- عنصران (
BottomNavigationView
) الآن سطر واحد لمطابقة مواصفات المواد. - هناك
RecyclerView
تعطُّل أثناء الجلب المُسبَق إذا مدير التخطيط فارغ. - يبلغ ارتفاع
BottomNavigationView
تعيينه الآن بشكل صحيح. (مشكلة في بروتوكول AOSP 226182) - يتعطّل
BottomNavigationView
عندما إضافة عناصر القائمة برمجيًا. (مشكلة في بروتوكول AOSP 225731) - ضبط إلى اليمين واليسار (
TextInputLayout
) القابلة للرسم المركبة. (مشكلة في بروتوكول AOSP 225836) - عطلان (
RecyclerView
) أثناء إعادة التدوير أصحاب المشاهدات (مشكلة في بروتوكول AOSP 225762) - Leanback: غالبًا ما تقول ميزة TalkBack كلمة "خالٍ" في طرق العرض في وضع تقسيم الشاشة
RecyclerView
: مشاكل العرض باللغة "استوديو Android". (مشكلة في بروتوكول AOSP 225753)- لا يزال
BottomNavigationView
يظهر عنصر القائمة كما هو محدد بعد عرضonNavigationItemSelected()
على القيمة false. (مشكلة في بروتوكول AOSP 225898) - يطرح RedirectListener
NoSuchMethodError
. بروتوكول AOSP المشكلة 225647) TextInputEditText
لا يظهر في وضع استخراج أداة IME. (مشكلة في بروتوكول AOSP 221880)
تتوفر قائمة كاملة بإصلاحات الأخطاء العامة على أداة تتبُّع مشاكل AOSP
مراجعة 25.0.0
(تشرين الأول/أكتوبر 2016)
تغييرات مهمة
- تم وضع دالة إنشاء
ContextCompat
جعل البيانات محميّة. يجب ألا يتم إنشاء مثيل لهذه الفئة بشكل علني، ولكن يمكن أن تكون كذلك. من خلال مكتبات الدعم التي تستهدف مستويات أحدث لواجهة برمجة التطبيقات. - تم إنشاء دالة إنشاء واحدة (
ActivityCompat
). محمي. يجب ألا يتم إنشاء مثيل لهذه الفئة بشكل علني، ولكن يمكن أن تكون كذلك. من خلال مكتبات الدعم التي تستهدف مستويات أحدث لواجهة برمجة التطبيقات. - تم إنشاء
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
التي تم طرحها بعد واجهة برمجة التطبيقات المستوى 13. -
صف واحد (
android.v7.widget.RecyclerView.DividerItemDecoration
) توفر تطبيقًا أساسيًا للفواصل الرأسية أو الأفقية بين عناصر. - أنماط مزينة جديدة في
android.support.v7.app.NotificationCompat
،DecoratedCustomViewStyle
وDecoratedMediaCustomViewStyle
، الفئات المشابهة التي تمت إضافتها في Platform API 24.
المشاكل التي تم إصلاحها
تتوفر قائمة كاملة بإصلاحات الأخطاء العامة على أداة تتبُّع مشاكل AOSP
المراجعة 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
مراجعة 24.2.0
آب (أغسطس) 2016
يحتوي الإصدار 24.2.0 على التغييرات التالية:
- الإصدار 4 من تقسيم مكتبة الدعم
- تعديلات على واجهة برمجة التطبيقات
- تغيّرات السلوك
- عمليات الإيقاف نهائيًا
- إصلاح الأخطاء
ملاحظة: يزيل الإصدار 24.2.0 دعم Android 2.2 (المستوى 8 من واجهة برمجة التطبيقات) والإصدارات الأقدم الفئات والطرق الموجودة فقط يتم الآن وضع علامة على إصدارات النظام هذه على أنها متوقفة نهائيًا ويجب ألا تنبؤي. قد تتم في المستقبل إزالة هذه الصفوف والطرق المتوقّفة نهائيًا .
الإصدار 4 من تقسيم مكتبة الدعم
في هذا الإصدار، تضم مكتبة دعم الإصدار 4 إلى عدة وحدات أصغر:
-
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
الجديد تعمل الحزمة على نقل إطار عمل عمليات النقل إلى مستويات واجهة برمجة التطبيقات 14. وأعلى. لمزيد من المعلومات، يُرجى الاطّلاع على مرجعandroid.support.transition
.- مكتبة دعم علامات التبويب المخصَّصة
إتاحة استخدام
RemoteViews
في الخدمات الثانوية شريط الأدوات.setToolbarItem()
الحالي تم إيقاف العمل بها الآن. - يضيف
AppCompatResources
إمكانية تحميل<vector>
(على المستوى 9 من واجهة برمجة التطبيقات والمستويات الأعلى)<animated-vector>
(على مستوى واجهة برمجة التطبيقات 11 والأعلى) من معرِّف المورد، باستخدام الطريقة الجديدةgetDrawable()
. - يمكن الآن استخدام "
CoordinatorLayout
" وتحديد طرق عرض داخلية، وتحديد أن وجهات النظر الأخرى يجب أن تجنب المساحة الداخلية طرق العرض. وهذا يسمح للتطبيقات بتكرار أنماط سلوكية مشابهة للطريقةFloatingActionButton
ينتقل من لـSnackbar
، ولكن لأي المشاهدات العشوائية الثانوية لمزيد من المعلومات، يُرجى مراجعةLayoutParams.insetEdge
وLayoutParams.dodgeInsetEdges
المستندات المرجعية - يمكن لفئة
DiffUtil
الجديدة أن تحسب الفرق بين اثنين ويمكنك إرسال قائمة بعمليات التحديث المناسبة إلىRecyclerView.Adapter
. -
تمت إضافة
RecyclerView.OnFlingListener
إلى الدعم المخصّص. السلوك استجابةً للقفز.SnapHelper
إجراء تنفيذ بشكل خاص لاستقطاب المشاهدات الفرعية،LinearSnapHelper
توسّع الفئة هذا التنفيذ لتوفير التقاط محاذاة بالوسط سلوك مشابه لـViewPager
. - تتيح مكتبة "علامات التبويب المخصّصة" الآن للعملاء طلب العلامة العادية
واجهة مستخدم المتصفح، بدلاً من واجهة مستخدم علامات التبويب المخصصة، من خلال استدعاء
CustomTabsIntent.setAlwaysUseBrowserUI()
هذا السلوك هو يكون مفيدًا في الحالات التي يكون فيها المتصفح الافتراضي على واجهة مستخدم علامات التبويب المخصصة ولكن أعرب عن تفضيله لواجهة مستخدم المتصفح القياسية.
تغييرات السلوك
- إذا كنت تستخدم وظيفة اليوم/الليل في مكتبة التطبيقات، لن
الآن يعيد إنشاء نشاطك تلقائيًا كلما تغيّر الوضع النهاري/الليلي
(إما بسبب الوقت من اليوم، أو بسبب مكالمة إلى
AppCompatDelegate.setLocalNightMode()
). - يتراجع "
Snackbar
" الآن عن شريط التنقل إذا كان شريط الحالة شفافًا.
مكتبة MediaRouter
لن يتم إدراج الأجهزة التي تتضمّن بلوتوث كمسارات للوسائط. يتم توجيه الصوت إلى يتم الآن التحكّم في الأجهزة التي تتضمّن بلوتوث فقط على مستوى نظام Android.
عمليات الإيقاف نهائيًا
وتخضع الفئات والطرق المتوقّفة نهائيًا للإزالة في إصدار مستقبلي. عليك نقل البيانات من واجهات برمجة التطبيقات هذه في أقرب وقت ممكن.
- كانت هناك عدة طرق للفئات التالية مطلوبة فقط لواجهة برمجة التطبيقات 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
من واجهة pyplot.- يمتلك
OnCloseListenerCompat
ليحل محلها واجهةSearchViewCompat.OnCloseListener
. OnQueryTextListenerCompat
تم استبداله بـSearchViewCompat.OnQueryTextListener
من واجهة pyplot.
- تم إيقاف
CustomTabsSession.setToolbarItem()
واستبداله المستندة إلى RemoteViewssetSecondaryToolbarViews()
إصلاح الأخطاء
تم إصلاح المشاكل المعروفة التالية في الإصدار 24.2.0:
- التأكّد من ظهور مؤشر
SwipeRefreshLayout
عند يتم استدعاءsetRefreshing(true)
قبل تصريح القياس الأول (AOSP) المشكلة 77712) - منع
TabLayout
من الوميض أثناء تغيير الصفحات (AOSP) المشكلة 180454) - تجنُّب
ClassNotFoundException
عند التقدُّم في مستويات اللعبSavedState
على المستوى 11 أو أقل لواجهة برمجة التطبيقات (مشكلة في AOSP) 196430)
تتوفر قائمة كاملة بإصلاحات الأخطاء العامة على أداة تتبُّع مشاكل AOSP
المراجعة 24.1.1
تموز (يوليو) 2016
المشاكل التي تم إصلاحها:
- إصلاح مشكلة في الإصدار 24.1.0 أثرت في أرقام تعريف الموارد المشتركة بين مكتبات الدعم. وتسببت هذه المشكلة في جعل التطبيقات تعتمد على دعم المكتبات بالموارد (مثل التصميم وAppcompat) المشكلات الناجمة عن عدم تطابق معرف المورد.
المراجعة 24.1.0
تموز (يوليو) 2016
- التغييرات في دعم الإصدار 4 المكتبة:
-
NotificationCompat.Action.WearableExtender
getHintDisplayActionInline()
جديدsetHintDisplayActionInline()
طريقة للتوافق مع معاينة Android Wear 2.0. وتتيح هذه الطرق للتطبيق تحديد وجوب تنفيذ إجراء بشكل مضمّن مع الإشعار.- لن يؤدي طلب الرقم
Fragment.setUserVisbileHint()
إلى أن يصبح الجزء بعد الآن. تم البدء إذا تمت إضافة التلميح إلىFragmentTransaction
لم يتم الالتزام به بعد. هذا النمط يؤثر في مستخدميFragmentPagerAdapter
والذي إلغاءsetUserVisbileHint()
وافتراض حالة محددة لدورة حياة الجزء بعد الاتصال بـsuper.setUserVisibleHint()
. لمزيد من المعلومات يُرجى الاطّلاع على الصفحة المرجعية لمستنداتFragment.setUserVisbileHint()
.
المشاكل التي تم إصلاحها:
- TabLayout.setCustomView(null) يؤدي إلى NullPointerException (مشروع إحالة ناجحة مفتوحة المصدر (AOSP) المشكلة رقم 214753)
- TabLayout يميّز علامات التبويب المخصصة بشكل غير صحيح (مشكلة AOSP 214316)
- يستخدم AppCompatTextHelper مصفوفة سمة تم ترتيبها بشكل غير صحيح (مشكلة AOSP 214366).
- لا يمكن الإشارة إلى VectorDrawable من ملف XML لحاوية قابلة للرسم عند استخدام custom ContextWrapper (مشكلة AOSP 214055)
- ViewDragHelper.saveLastMotion() يطرح ArrayIndexOutOfBoundsException (مشروع إحالة ناجحة مفتوحة المصدر (AOSP) المشكلة رقم 212945)
- توسيع BottomSheetBehavior إلى ارتفاع المحتوى القديم عند استخدام setState(state_EXPANDED) (مشكلة في AOSP 213660)
- لا تتعامل قابلة للطي مع الأدوات الثانوية القابلة للتثبيت التي تتضمن الجزء العلوي أو الهوامش السفلية (مشكلة في AOSP 213001)
- لا يدعم عنوان تصفح Leanback محاذاة RTL (مشكلة AOSP) 213461)
- اختفاء PagerTabStrip بسبب عدم توفّر تعليق توضيحي مكتسب (مشكلة في AOSP) 213359).
- يؤدي ربط البيانات إلى طرح NullPointerException عند استخدام قيمة منطقية لتحديد العلامات الشرطية (مشكلة في AOSP) 191841)
- لا يستجيب CoordinatorLayout لـ setFitsSystemWindows() (مشكلة AOSP) 212720)
- يتعطّل BottomSheetBehavior عند ضبط الحالة الأولية (مشكلة AOSP) 203114)
- يتخطّى ViewPager الصفحات إذا كان فهرس الصفحة كبيرًا (مشكلة في AOSP) 211734)
- لا يعمل BottomSheetBehavior مع التنسيقات الديناميكية (مشكلة AOSP) 205226)
مراجعة 24.0.0
حزيران (يونيو) 2016
- التغييرات في دعم الإصدار 4 المكتبة:
-
- تاريخ الإضافة:
Fragment.commitNow()
للالتزام المتزامن - تاريخ الإضافة:
NotificationCompat.MessagingStyle
للمحادثات المتعددة الأطراف - تاريخ الإضافة:
NotificationManagerCompat.areNotificationsEnabled()
وgetImportance()
MediaSessionCompat
تعكس الآن وظائفMediaSession
ولم تعد تطلبsetMediaButtonReceiver()
تلقائيًا
ملاحظة: لا يتوفّر سوى
MediaBrowserServiceCompat
في الإصدار 24.0.0 متوافق مع الإصدارات المستقبلية من نظام التشغيل Android الأحدث من واجهة برمجة التطبيقات 24. إذا كنت تستخدم إصدارات سابقة، يُرجى التحديث إلى هذا الإصدار من أجل لضمان التوافق. - تاريخ الإضافة:
- تغييرات الإصدار 7 Appcompat:
-
- تمت إضافة إمكانية الإشارة إلى عناصر
ColorStateList
ذات طابع خاص من XML.
- تمت إضافة إمكانية الإشارة إلى عناصر
- تغييرات لدعم التصميم المكتبة:
-
- تحسينات على
AppBarLayout
معالجة الارتفاع باستخدامStateListAnimator
- تحسينات على
- تغييرات مكتبة الإصدار 17 Leanback:
-
- تمت إضافة
OnboardingFragment
لتوفير رسالة ترحيب التشغيل لأول مرة. وعملية الإعداد
- تمت إضافة
- تغييرات علامات التبويب المخصَّصة:
-
- تمت إضافة الدعم لتوفير
RemoteViews
. التسلسل الهرمي لشريط الأدوات الثانوي - تاريخ الإضافة:
CustomTabsClient.connectAndInitialize()
للإعداد من سطر واحد
- تمت إضافة الدعم لتوفير
المراجعة 23.4.0
أيار (مايو) 2016
- التغييرات في دعم الإصدار 4 المكتبة:
-
- تم إصلاح مشكلة إضافة الأجزاء بترتيب غير صحيح. (المشكلة 206901)
- تم إصلاح مشكلة عدم رسم شريط التطبيق بعد الانتقال للأعلى أو للأسفل خارج الشاشة. (المشكلة 178037)
- تغييرات الإصدار 7 Appcompat:
-
- تمت الإضافة
AppCompatDelegate.setCompatVectorFromResourcesEnabled()
إعادة تفعيل استخدام عناصر المتّجهات القابلة للرسم في كائناتDrawableContainer
على الأجهزة الإصدار 4.4 من نظام التشغيل Android (المستوى 19 لواجهة برمجة التطبيقات) أو الإصدارات الأقدم. راجِع الإصدار 23.2 من AppCompat — عمر المتّجهات مزيد من المعلومات. - تم إصلاح مشكلة في واجهة برمجة التطبيقات 23 ذات الصلة
AppCompatDelegate.setDefaultNightMode()
لا تحميل موارد صحيحة في المستوى 23 من واجهة برمجة التطبيقات (المشكلة 206573). - تم إصلاح المشكلة التي قد تتسبب في
NullPointerException
. (المشكلة 207638)
- تمت الإضافة
- تغييرات لدعم التصميم المكتبة:
-
- تم إصلاح المشكلة المتمثلة في عدم محو
TextInputLayout
للخطأ تعديل اللون بعدsetErrorEnabled(false)
للمستوى 21 - 22 لواجهة برمجة التطبيقات (مشكلة 202829) - تم إصلاح المشكلة المتمثلة في عدم عرض
FloatingActionButton
عند تعطيل الرسوم المتحركة. (المشكلة 206416) - تم حل المشكلة في
AppBarLayout
وظيفة المحاذاة عند استخدامها مع
علامة تمرير. (المشكلة 207398)scroll
|enterAlways
|enterAlwaysCollapsed
|snap
- تم إصلاح المشكلة المتمثلة في عدم محو
- تغييرات لمكتبة Vector القابلة للرسم:
-
- تم إصلاح الخطأ الذي يؤديه
VectorDrawableCompat
لا يتم عرضها بشكل صحيح فيTextView
في المستوى 23 من واجهة برمجة التطبيقات (المشكلة 206227)
- تم إصلاح الخطأ الذي يؤديه
المراجعة 23.3.0
نيسان (أبريل) 2016
- التغييرات في دعم الإصدار 4 المكتبة:
-
- تمت إضافة
AppLaunchChecker
للمساعدة في تتبُّع مستوى أداء تطبيقك تم إطلاقه من قِبل المستخدم في الماضي. يتيح لكhasStartedFromLauncher()
معرفة ما إذا كان المستخدم قد تشغيل تطبيقك من الشاشة الرئيسية من قبل، أو إذا كان يتضمن طرق أخرى (على سبيل المثال، لعرض صفحات ويب محددة عناوين URL). - تم إصلاح تسرب الذاكرة في
MediaBrowserServiceCompat.mConnections
(المشكلة 205220) - تم إصلاح المشكلة المتمثلة في
ViewPager
لا يأخذ في الاعتبار هوامش الصفحة عند قلب الصفحة. (المشكلة 203816). - تم تسليم
Fragment.onRequestPermissionsResult()
إلى الطفل الأجزاء.
- تمت إضافة
- تغييرات الإصدار 7 Appcompat:
-
- تم إصلاح مشكلة في "
AppCompatSpinner
" قد تتسبب في ستظهر نوافذ منبثقة متعددة. (المشكلة 205052) - تم إصلاح مشكلة تتعلق بكيفية تلوين الأزرار بلا حدود. (المشكلة 202967)
- تم إصلاح مشكلة التوافق بين
AppCompatDialogFragment
وAlertDialog
. (المشكلة 204805) - تم إلغاء التغييرات الأخيرة على
TintResources
التي كانت تتسبب في حدوث حدوث مشاكل في الذاكرة والإعدادات. (المشكلة 205236).
- تم إصلاح مشكلة في "
- تغييرات الإصدار 7 مكتبة Mediarouter:
-
- تم الإصلاح في
MediaRouteControllerDialog
سلوك شريط تمرير مستوى الصوت (المشكلة 202299)
- تم الإصلاح في
- التغييرات التي طرأت على الإعدادات المفضّلة للإصدار 7 المكتبة:
-
- تم إصلاح مشكلة تعطُّل
PreferenceFragmentCompat
إذا تم تحديدdividerHeight
. (المشكلة 204778)
- تم إصلاح مشكلة تعطُّل
- تغييرات الإصدار 7 مكتبة إعادة التدوير:
-
- تم إصلاح الخطأ المتمثل في عدم استدعاء
RecyclerView
للتمرير. في حالة تقليص نطاق العناصر المرئية. (المشكلة 200987). - تم إصلاح الخطأ الذي كان يؤدي إلى توقُّف "
RecyclerView
" عن العمل. التخطيط الخطي، ومرجحة، وتتضمن صورًا. (المشكلة 203276). - تم إصلاح عطل في
OrientationHelper.getStartAfterPadding()
. (المشكلة 180521) - تم إصلاح عطل في استخدامات
android:nestedScrollingEnabled
(المشكلة 197932)
- تم إصلاح الخطأ المتمثل في عدم استدعاء
- تغييرات لدعم التصميم المكتبة:
-
- تم إصلاح الخطأ الذي كان يعالج فيه البطاقة السفلية المخفية اللمس. أحداث. (المشكلة 203654).
- تم إصلاح مشكلة تنسيق في
BottomSheetBehavior
عند قيمةfitsSystemWindows
صحيحة. (المشكلة 203057) - تم إصلاح مشكلة تسهيل الاستخدام في "
Snackbar
". (المشكلة 182145) - تم إصلاح عطل في
Snackbar
التمرير السريع. (المشكلة 203924) - تم إصلاح خطأ في "
AppBarLayout
" فيenterAlways
(المشكلة 203661) - تم إصلاح الخطأ الذي أدى إلى محو
TextInputLayout
بشكل غير ضروري. فلتر لون خلفية عنصرEditText
(المشكلة 203357).
المراجعة 23.2.1
آذار (مارس) 2016
- التغييرات في دعم الإصدار 4 المكتبة:
-
- تم إصلاح استثناء في
DrawableCompat.wrap()
وLayerDrawable
في مستويات واجهة برمجة التطبيقات من 17 إلى 19 (مشكلة 201817) - تم إصلاح
ArrayIndexOutOfBoundsException
فيViewDragHelper.shouldInterceptTouchEvent()
. (المشكلة 182262). - تم إصلاح خطأ في "
ViewPager
" بشأن حساب التمرير لتغييرات الحجم. - تم إصلاح
NullPointerException
عند استدعاءDrawerLayout.removeDrawerListener()
بدون مجموعةDrawerLayout.DrawerListener
. (المشكلة 202478) - تم إصلاح الخطأ المتمثل في عدم ضبط
ViewPager
مَعلماتAccessibilityEvent
بشكل صحيح عند التمرير - تم إصلاح مشكلة تسبّبت في حدوث تأخّر أثناء تدوير الجهاز عند استخدام
Drawable.wrap()
(عدد 201924)
- تم إصلاح استثناء في
- تغييرات الإصدار 7 Appcompat:
-
- تمت إعادة الاعتماد على أصول المتجه بحيث يمكن للمطورين الذين يستخدمون
تطبيق متوافق
المكتبة لا يتم فرض استخدام
VectorDrawable
وعلامات الإصدار المرتبطة بها. - تم إصلاح مشكلة التوافق في "الوضع الليلي" والمستوى 23 من واجهة برمجة التطبيقات. (المشكلة 201910)
- تم إصلاح مشكلة التوافق في
SwitchCompat
والمستوى 7 من واجهة برمجة التطبيقات. (عدد 201942) - تم إصلاح مشكلة متعلّقة بنشر قيم الإعداد في عناصر "الموارد" مشكلة 201928
- تم إصلاح مشكلة التوافق المتمثلة في
android.support.v7.app.NotificationCompat.MediaStyle
يصبح زر الإلغاء غير مرئي على مستوى واجهة برمجة التطبيقات 21 والأقل. (المشكلة 202156) - تم إصلاح عُطل التوافق مع
AppCompatSpinner
في المستوى 21 من واجهة برمجة التطبيقات والمستويات الأدنى. (المشكلة 202246) - تم إصلاح مشكلة عدم ظهور نمط
app:textAllCaps = "false"
عملك. (المشكلة 202117) - تم إصلاح عطل أثناء استعادة
SearchView
. (المشكلة 201836) - تم إصلاح تسرّب الذاكرة الذي يحدث عند تلوين الموارد القابلة للرسم باستخدام AppCompat (المشكلة 202379)
- تم إصلاح مشكلة في
KeyEvent
على المستوى 11 لواجهة برمجة التطبيقات أَقَل (المشكلة 202939)
- تمت إعادة الاعتماد على أصول المتجه بحيث يمكن للمطورين الذين يستخدمون
تطبيق متوافق
المكتبة لا يتم فرض استخدام
- التغييرات في مشاهدة البطاقات الإصدار 7 من Google المكتبة:
-
- تمت إضافة دعم "الوضع الليلي" لـ "
CardView
". (المشكلة 194497)
- تمت إضافة دعم "الوضع الليلي" لـ "
- تغييرات الإصدار 7 مكتبة إعادة التدوير:
-
- تم إصلاح الأخطاء المتعلقة بالطرق المختلفة لمواصفات القياس. (المشكلة 201856)
- تم تقليل فترة الإغلاق التي لا يسمح فيها
RecyclerView
باستخدام المحوّل. التغييرات أثناء حساب التخطيط أو التمرير. (المشكلة 202046) - تم إصلاح تعطُّل عند الاتصال بـ
notifyItemChanged()
بشأن عنصر غير مرئي. (المشكلة 202136) - تم إصلاح العطل الذي يحدث عند إضافة
RecyclerView.LayoutManager
مشاهدة وإزالتها بطاقة قياس الأداء. (المشكلة 193958)
- تغييرات الإصدار 7 مكتبة Mediarouter:
-
- تم إصلاح العُطل الذي كان يحدث عند طلب
MediaRouter.getInstance()
في المستوى 17 من واجهة برمجة التطبيقات. (المشكلة 180654)
- تم إصلاح العُطل الذي كان يحدث عند طلب
- التغييرات في الإصدار 17 مكتبة Leanback:
-
- تم إصلاح مشكلة في "
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
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- تمت إضافة
MediaBrowserCompat
لدعمMediaBrowser
وMediaBrowserServiceCompat
لدعمMediaBrowserService
. هذا مفيد عند توصيل خدمة الخلفية الخاصة بتطبيق وسائط بمكونات واجهة المستخدم، والتكامل مع Android Auto وAndroid Wear بدون الحاجة إلى المستوى 21 من واجهة برمجة التطبيقات أو المستويات الأعلى - يطلب النظام الآن
onActivityResult()
للحصول علىFragmentActivity
المدمجة.
- تمت إضافة
- التغييرات على الإصدار 7 من AppCompat المكتبة:
-
- تمت إضافة وظيفة "الوضع الليلي" إلى المستوى 14 من واجهة برمجة التطبيقات والمستويات الأعلى. المبدل (Switch) بين Material المظهر الفاتح والمظهر الداكن استنادًا إلى الوقت من اليوم الخاص بالتطبيق.
-
- يمكن العثور على مظاهر النهار والليل هنا:
<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
، عمليات الاستدعاء لمراقبة أحداث البطاقة السفلية.
- دعم مضاف للإعلانات الجزء السفلي
وأوراق البيانات. المكوّن الإضافي للتفاعل،
- التغييرات في إتاحة علامات التبويب المخصّصة المكتبة:
-
- متصفّح Chrome تتيح الآن علامات التبويب المخصصة للتطبيقات تضمين شريط سفلي مع إجراء بالإضافة إلى زر الإجراء العلوي الحالي.
CustomTabsIntent.Builder.addToolBarItem()
: يضيف إجراءً إلى علامة تبويب مخصصة. يمكنك استخدام هذا الزر لإضافة أزرار متعددة.CustomTabsSession.setToolBarItem()
: لتعديل العناصر المرئية لعناصر شريط الأدوات. لن تنجح هذه الطريقة إلا إذا تم منحها معرّف صالح وجلسة المتصفح في المقدّمة.
- تمت إضافة مكتبة دعم VectorDrawable:
-
- الصفوف التي تمت إضافتها:
-
VectorDrawableCompat
AnimatedVectorDrawableCompat
- إتاحة استخدام
VectorDrawable
مادة عرض في التطبيقات تعمل على المستوى 7 من واجهة برمجة التطبيقات أو المستويات الأعلى مادتَا عرض (AnimatedVectorDrawable
) متاحة أيضًا على المستوى 11 أو أعلى لواجهة برمجة التطبيقات. يمكن أن تكون أصول المتجهات أصغر بكثير من مواد عرض الصور ويجب أن يساعد في تقليل حجم التطبيق الحجم عن طريق تقليل كمية الأصول المطلوبة لدعم مصادر متعددة شاشات الأجهزة. - تعتمد هذه المكتبة الآن على مكتبة AppCompat الإصدار 7، ما يسمح
المطوّرون وAppCompat
لاستخدام العناصر القابلة للرسم المتجهة بسهولة. لاستخدام
VectorDrawableCompat
فيImageButton
أوImageView
، يُرجى استخدامapp:srcCompat
XML السمة أوsetImageResource()
. - لمواصلة الإشارة إلى معرّفات السمات في المستوى 20 من واجهة برمجة التطبيقات أو
أسفل، أضِف علامة
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 أو
أقل، أضِف ما يلي إلى ملف
- تغييرات الإصدار 17 Leanback المكتبة:
-
- تمت إضافة إمكانات جديدة إلى
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”
. ويمكنك بدلاً من ذلك استخدام سمة XMLdatePickerFormat
.
- تمت إضافة إمكانات جديدة إلى
- تغييرات الإصدار 7 من RecyclerView المكتبة:
-
- يتوفّر خيار الموافقة في "
RecyclerView
" الآن. تسمى القياس التلقائي وهي تتيح لـRecyclerView.LayoutManager
التفاف المحتوى أو التعامل مع مواصفات قياس مختلفة مقدمة من أصلRecyclerView
. أُنشأها جون هنتر، الذي كان متخصصًا يتيح استخدام كل إمكانيات الصور المتحركة الحالية فيRecyclerView
. -
- إذا كان لديك
RecyclerView.LayoutManager
مخصص، الاتصال بـsetAutoMeasureEnabled(true)
لبدء استخدام واجهة برمجة التطبيقات AutoMeasurement API كل العناصر المدمجةRecyclerView.LayoutManager
تفعيل القياس التلقائي تلقائيًا RecyclerView.LayoutManager
لم يعد يتجاهل بعض إعداداتRecyclerView.LayoutParams
، مثلMATCH_PARENT
في اتجاه التمرير.ملاحظة: قد تؤدي هذه القيود المزالة إلى سلوك غير متوقع في التخطيطات لديك. احرص على تحديد معلمات التخطيط الصحيحة.
- إذا كان لديك
- عند تحديث
RecyclerView.ViewHolder
بالحمولة المعلومات،DefaultItemAnimator
يقوم الآن بتعطيل تغيير الرسوم المتحركة. - يمكنك الآن تعديل سرعة الهروب
ItemTouchHelper
إلى للتحكم في حساسية التمرير السريع. لتسهيل التمرير السريع أو صعوبة التمرير، إلغاءgetSwipeEscapeVelocity(float defaultValue)
وتعديلdefaultValue
.
- يتوفّر خيار الموافقة في "
المراجعة 23.1.1
تشرين الثاني (نوفمبر) 2015
- تغييرات مكتبة إعادة التدوير الإصدار 7:
-
- تم إصلاح العطل الذي يحدث عند تنفيذ إجراء تمرير سريع للإغلاق
توفر فئة الأداة
ItemTouchHelper
، ثم تضيف عنصرًا. (المشكلة 190500)
- تم إصلاح العطل الذي يحدث عند تنفيذ إجراء تمرير سريع للإغلاق
توفر فئة الأداة
- تغييرات مكتبة الإعدادات المفضّلة للإصدار 7:
-
- تم إصلاح مشكلة استخدام ProGuard. (المشكلة 183261)
- تغييرات مكتبة دعم الإصدار 17 من Leanback:
-
- تم إصلاح عدد من المشكلات الداخلية في هذه المكتبة.
- التغييرات في مكتبة دعم التصميم:
-
- تمت إضافة الطريقة
getHeaderView
إلى الصفNavigationView
. - تم إصلاح مشكلة خلفية شفافة لعنصر
FloatingActionButton
على الأجهزة التي تعمل بنظام التشغيل Android 4.0 (المستوى 15 لواجهة برمجة التطبيقات) والإصدارات الأقدم. (المشكلة 183315)
- تمت إضافة الطريقة
المراجعة 23.1.0
تشرين الأول (أكتوبر) 2015
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- تمت إضافة دعم واجهة
OnScrollChangedListener
إلى التطبيق المصغَّر "NestedScrollView
" أُنشأها جون هنتر، الذي كان متخصصًا يسمح لك بتلقي استدعاءات عند تغيير موضع التمرير X أو Y. - تمت إضافة فئة
MediaButtonReceiver
لإعادة توجيه عناصر التحكّم في التشغيل التي تم استلامها. إلى خدمة تدير الفئةMediaSessionCompat
. تشير رسالة الأشكال البيانية يتضمّن صف واحد (MediaSessionCompat
) دالة إنشاء يمكنها العثور تلقائيًا على متلقي زر وسائط في البيان. حاسمة يُعد جهاز استقبال زر الوسائط جزءًا أساسيًا لمعالجة عناصر التحكّم في التشغيل من الأجهزة أو عناصر التحكّم في البلوتوث.
- تمت إضافة دعم واجهة
- التغييرات التي طرأت على مكتبة تطبيقات v7 المتوافقة:
-
- تمت إضافة التصميم المتعدد الأبعاد
Seekbar
وImageButton
التطبيقات المصغّرة. - تم تعديل التطبيق المصغّر "
ImageView
" لإتاحة ميزة "تعديل اللون". - تم تعديل شكل ومظهر تطبيق "
SwitchCompat
" المصغّر.
- تمت إضافة التصميم المتعدد الأبعاد
- التغييرات في مكتبة Mediarouter v7:
-
- تمّت إضافة الميزات التالية إلى الفئة
MediaRouteChooserDialog
: - عرض صفحة تحميل أثناء اكتشاف مزوّدي مسارات الوسائط
- تشتمل على رمز نوع الجهاز للتعرف على الجهاز بسهولة أكبر.
- ترتيب المسارات وفقًا لتكرار الاستخدام في التطبيق الحالي.
- تتيح هذه الميزة الوضع الأفقي.
- تمّت إضافة الميزات التالية إلى الفئة
MediaRouteControllerDialog
: - يتعرّف على بث الشاشة ويقدم وصفًا مناسبًا.
- يدعم أحجام صور الألبوم ونسب العرض إلى الارتفاع المتنوعة، ويحمّل العمل الفني بشكل غير متزامن.
- يتم اختيار لون المحتوى تلقائيًا استنادًا إلى اللون الأساسي للتطبيق.
- يتم ضبط تنسيق مربع الحوار بناءً على مساحة الشاشة المتاحة على الجهاز.
- تتيح هذه الميزة الوضع الأفقي.
- تمّت إضافة الميزات التالية إلى الفئة
- التغييرات في مكتبة لوحات الإصدار 7:
-
- تمت إضافة الطريقة
setRegion()
لإتاحة استخراج اللون من لون محدَّد. منطقة كائنBitmap
.
- تمت إضافة الطريقة
- تغييرات مكتبة إعادة التدوير الإصدار 7:
-
- تمت إضافة واجهة برمجة تطبيقات مُحسَّنة للصور المتحركة إلى فئة "
ItemAnimator
" للحصول على تجربة أفضل. التخصيصات: - لم يعد تغيير الصور المتحركة يفرض نسختين من الكائن
ViewHolder
، والتي تعمل على تفعيل الرسوم المتحركة لمحتوى العنصر. وسيستخدم الكائنItemAnimator
أيضًا ما إذا كان يريد إعادة استخدام كائنViewHolder
نفسه أو إنشاء جديدة. - تمنح واجهة برمجة التطبيقات الجديدة لسجلّ المعلومات فئة
ItemAnimator
مرونة جمع البيانات في النقطة الصحيحة من دورة حياة التخطيط. يتم عرض هذه المعلومات لاحقًا يتم تمريره إلى استدعاءات الرسوم المتحركة.
- تم توفير خطة انتقال سهلة لتغيير واجهة برمجة التطبيقات غير المتوافقة مع الأنظمة القديمة:
- إذا سبق لك تمديد الصف الدراسي
ItemAnimator
، يمكنك إجراء تغيير. الفئة الأساسية إلىSimpleItemAnimator
ومن المفترض أن يعمل الرمز كما في السابق. توفّر الفئةSimpleItemAnimator
واجهة برمجة التطبيقات القديمة من خلال تضمين واجهة برمجة التطبيقات الجديدة. - تمّت إزالة بعض الطرق من الفئة
ItemAnimator
. ما يلي: لن يتم تجميع التعليمة البرمجية بعد الآن:
Kotlin
recyclerView.itemAnimator.supportsChangeAnimations = false
Java
recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
يمكنك استبداله بما يلي:
Kotlin
val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator animator?.supportsChangeAnimations = false
Java
ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); }
- تمت إضافة واجهة برمجة تطبيقات مُحسَّنة للصور المتحركة إلى فئة "
- التغييرات التي تم إجراؤها على الإصدار 7 الإصدار 14 مكتبة دعم الإعدادات المفضّلة الإصدار 17:
-
- تمت إزالة واجهات برمجة التطبيقات للتحكّم في مربّعات حوار
EditText
.
- تمت إزالة واجهات برمجة التطبيقات للتحكّم في مربّعات حوار
- تغييرات مكتبة دعم الإصدار 17 من Leanback:
-
- تمت إضافة نسخة من الصف
GuidedStepFragment
إلى مكتبة الدعم. (لتوسيعandroid.support.v4.app.Fragment
)، وتحسين الصور المتحركة الانتقالات. - تم تعديل الصف
GuidedStepFragment
ليتم وضعه في أعلى. المحتوى الحالي. - تمت إضافة إمكانية إضافة تعليقات توضيحية إلى أنواع مختلفة من عمليات البحث المكتملة إلى
صف واحد (
SearchFragment
). - تمت إضافة إمكانية نقل الشرائح المقسّمة إلى
VerticalGridFragment
. الصف.
- تمت إضافة نسخة من الصف
- التغييرات في مكتبة دعم التصميم:
-
- تمت إضافة
إتاحة عدد الأحرف في التطبيق المصغّر
TextInputLayout
. - تمت إضافة إمكانية محاذاة الحواف إلى الفئة
AppBarLayout
من خلال إضافة السمة ثابتSCROLL_FLAG_SNAP
. عند انتهاء التمرير، إذا كان العرض مرئيًا جزئيًا، يتم محاذاة العرض وتمريره إلى أقرب حافة له. - تم توفير إمكانية استخدام طرق العرض المخصّصة إلى فئة
NavigationView
باستخدام السمةapp:actionLayout
أوMenuItemCompat.setActionView()
.
- تمت إضافة
إتاحة عدد الأحرف في التطبيق المصغّر
- التغييرات التي طرأت على مكتبة دعم علامات التبويب المخصَّصة:
-
- تمت إضافة الطريقة
enableUrlBarHiding()
إلىCustomTabsIntent
. الصف. يتيح للعميل تخصيص ما إذا كان يجب إخفاء شريط عنوان URL تلقائيًا أو لا عند الانتقال للأسفل - تمت إضافة الطريقة
setActionButton()
إلىCustomTabsSession
. الصف. يتيح للعميل تغيير رمز زر الإجراء المخصص في علامة تبويب مخصصة تم إطلاقها بالفعل. - تمت إضافة الثابتَين
TAB_SHOWN
وTAB_HIDDEN
كأحداث جديدة. لطريقةonNavigationEvent
منCustomTabsCallback
الصف.
- تمت إضافة الطريقة
المراجعة 23.0.1
سبتمبر 2015
- تغييرات الإصدار 7 مكتبة دعم الإعدادات المفضّلة الإصدار 14:
-
- تمت إضافة ملفات تخطيط ونمط التصميم المتعدد الأبعاد. (المشكلة 183376)
- التغييرات التي طرأت على مكتبة تطبيقات v7 المتوافقة:
-
- تم إصلاح مشاكل الأعطال لفئة
Fragment
من خلال تقييد استخدام طبقات الأجهزة إلى Android 4.1 (المستوى 16 من واجهة برمجة التطبيقات) والإصدارات الأحدث. (المشكلة 183896) - تم إصلاح مشكلة عدم عمل أزرار الأجهزة عندما تم ضبط نشاط
فئة واحدة (
Toolbar
) لتكون بمثابةActionBar
باستخدام الطريقةsetSupportActionBar()
. (المشكلة 183334) - تم تعديل الصف
AppCompatDialogFragment
ليصبح لم يعد يطرحWindows feature must be requested before adding content
خطأ. (المشكلة 183186)
- تم إصلاح مشاكل الأعطال لفئة
- التغييرات في مكتبة دعم التصميم:
-
- تم إصلاح
صف واحد (
AppBarLayout
) وبالتالي يتم رسمه الآن بشكل صحيح بعد تدوير. (المشكلة 183109) - تم إصلاح
TabLayout
لذا فهي تعمل الآن بشكل صحيح عند ينقر المستخدم بعد التمرير السريع. (المشكلة 183123)
- تم إصلاح
صف واحد (
- التغييرات التي طرأت على مكتبة دعم علامات التبويب المخصَّصة:
-
- تم خفض
minSdkVersion
من 16 إلى 15 لدعم الإصدار. - تمت إضافة طريقة لإنشاء
CustomTabsSessionToken
من هدف.
- تم خفض
المراجعة 23
أغسطس 2015
- مكتبات دعم جديدة تمت إضافتها:
للحصول على قائمة كاملة بالتغييرات في "مكتبة الدعم"، يُرجى الاطّلاع على الدعم تقرير الاختلافات في واجهة برمجة تطبيقات المكتبة
المراجعة 22.2.1
تموز (يوليو) 2015
- التغييرات في مكتبة دعم التصميم:
-
- تمت إضافة الطريقتَين
hide()
وshow()
إلى السمة فئة واحدة (FloatingActionButton
) للإعلانات الآلية تؤدي إلى تشغيل الرسوم المتحركة. - تمت إضافة ثابت
LENGTH_INDEFINITE
إلى السمة. صف واحد (Snackbar
) لعرض شريط الإعلام المنبثق حتى يتم إغلاقه أو يتم عرض شريط إعلامي آخر. كما تمت إضافة العنصرsetActionTextColor(int)
وsetActionTextColor(ColorStateList)
الطرق. - تمت إضافة الطريقة
getSelectedTabPosition()
إلى السمة فئةTabLayout
لاسترداد القيمة الحالية علامة التبويب المحددة. - تقديم واجهة برمجة تطبيقات بطلاقة
صف واحد (
android.support.v7.app.NotificationCompat.MediaStyle
) للطريقة والسلسلة. - تمت إضافة طرق ملائمة إلى
RecyclerView
لإدراج العناصر بشكل مجمّع.
- تمت إضافة الطريقتَين
للحصول على قائمة كاملة بالتغييرات في "مكتبة الدعم"، يُرجى الاطّلاع على الدعم تقرير الاختلافات في واجهة برمجة تطبيقات المكتبة
المراجعة 22.2.0
أيار (مايو) 2015
- تمت إضافة مكتبة دعم التصميم:
-
- تمت إضافة
TextInputLayout
لعرض البيانات. نص تلميح وخطأEditText
كتصنيفات عائمة. - تمت إضافة
FloatingActionButton
لتنفيذ إجراءً أساسيًا على واجهتك زر إجراء عائم، متوافق مع أحجام تلقائية أو صغيرة. - تمت إضافة
Snackbar
لتوفير تجربة استخدام خفيفة. ملاحظات مع إجراء اختياري في شريط إعلامي متحرك. - تمت إضافة
TabLayout
لتنفيذ الإصلاح قابل للتمرير علامات التبويب إلى جانب سهولة التكامل معViewPager
- تمت إضافة
NavigationView
لتنفيذ العملية. لائحة التنقل بما في ذلك القدرة على تضخيم عناصر القائمة عبر مورد القائمة. - تمت إضافة
CoordinatorLayout
، وهو غرض عام. التخطيط، يستخدم لإنشاء التبعيات بين المشاهدات التابعة والسماح بالتفاعلات السهلة بين العناصر من خلالCoordinatorLayout.Behavior
العديد من التصميم تعتمد مكونات المكتبة على كونها عنصرًا ثانويًاCoordinatorLayout
- تمت إضافة
AppBarLayout
، وهي حاويةToolbar
وطرق العرض الأخرى (مثلTabLayout
) التفاعل مع الأحداث المتنقلة من خلال الانتقال خارج الشاشة إلى أن تصبح مرئية عند التفاعل إلى تمرير لأسفل، أو للطي/الانهيار قبل الانتقال إلى أسفل/إلى الشاشة. - تمت إضافة
CollapsingToolbarLayout
للتحكّم في العرض. كيفية انهيارToolbar
. قد يتم تصغير شريط الأدوات حسب: تثبيت المكونات في أعلى الشاشة أثناء تصغيرها، وتقديم التمرير المتباين لمكوّنات مثلImageView
أو إضافة لون تظليل المحتوى عند تصغير العرض جزئيًا.
- تمت إضافة
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- تمت إضافة
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
للتعامل مع أوضاع الإجراءات الأصلية.
- تمت إضافة
للحصول على قائمة كاملة بالتغييرات في "مكتبة الدعم"، يُرجى الاطّلاع على الدعم تقرير الاختلافات في واجهة برمجة تطبيقات المكتبة
المراجعة 22.1.0
نيسان (أبريل) 2015
- التغييرات التي طرأت على مكتبة التعليقات التوضيحية:
-
- تمت إضافة مكتبة التعليقات التوضيحية لتقديم الدعم لعمليات فحص الرموز البرمجية المحسّنة. وتتم إضافة التعليقات التوضيحية كعلامات بيانات وصفية ترفقها بالمتغيرات والمعلمات وإرجاع القيم لفحص القيم التي تعرض طريقة العرض والمعلمات التي تم تمريرها والقيم المحلية المتغيرات والحقول.
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- تمت إضافة الفئة
ColorUtils
. لتوفير مجموعة من طرق المنفعة المتعلقة بالألوان. - تمت إضافة
unwrap()
wrap()
طريقة إلى الصفDrawableCompat
، مما يسمح لك باستخدامsetTint()
,setTintList()
, وsetTintMode()
على كل الأجهزة من المستوى 4 أو أعلى لواجهة برمجة التطبيقات. - تمت إضافة الفئة
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
لتوفير فجوات بين والمكونات في تخطيطات الأغراض العامة. تم إيقاف هذه الفئة نهائيًا في مكتبة تخطيط الشبكة. - تمت إضافة الفئة
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
) لتوفير AppCompat الذي يحمل طابعًاAlertDialog
. - تمت إضافة الفئة
Palette.Builder
. لإنشاء مثيلين (Palette
)- تمت إضافة
from(Bitmap)
إلى الفئةPalette
وبدء إنشاء لوحة ألوان باستخدام مثالPalette.Builder
- تم إيقاف
Palette.generate()
وPalette.generateAsync()
طريقة
- تمت إضافة
- تمت إضافة
طريقة
getAbsoluteAlignment()
للوصول إلىGridLayout.Spec
الصف. - تم التوقّف عن استخدام
app:theme
في التصميم.Toolbar
يمكنك الآن استخدامandroid:theme
لأشرطة الأدوات على جميع الأجهزة من المستوى 7 لواجهة برمجة التطبيقات والمستويات الأعلى يتوافقandroid:theme
مع جميع التطبيقات المصغّرة على الأجهزة من المستوى 11 والإصدارات الأحدث.
- تمت إضافة إمكانية تعديل الألوان إلى التطبيقات المصغّرة المتوافقة مع التطبيق، بما في ذلك
- التغييرات التي تم إجراؤها على الإصدار 17 من مكتبة leanback:
-
- تمت إضافة
GuidedStepFragment
،GuidanceStylist
وGuidedActionsStylist
للدعم إنشاء تدفقات قرار متعددة الخطوات.
- تمت إضافة
- تغييرات مكتبة إعادة التدوير الإصدار 7:
-
- تمت إضافة
SortedList
صف لعرض العناصر فيها. ترتيب القائمة وتقديم إشعار بالتغييرات التي تطرأ على القائمة. - تمت إضافة الفئة
SortedListAdapterCallback
. يمكنه ربط قائمة تم فرزها صف واحد (RecyclerView.Adapter
).
- تمت إضافة
- التغييرات التي طرأت على مكتبة JavaScript v8:
-
- تمت إضافة الفئة
ScriptIntrinsicHistogram
للنطاق استخدامه كعامل تصفية تكراري. - تمت إضافة الفئة
ScriptIntrinsicResize
للنطاق إجراء تغيير حجم تخصيص ثنائي الأبعاد.
- تمت إضافة الفئة
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- تم تعديل طريقة
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
- تمت إضافة نمط مؤشر سريان العمل.
- التغييرات التي تم إجراؤها على الإصدار 17 من مكتبة leanback:
-
- تمت إضافة
getRecycledPoolSize()
setRecycledPoolSize()
طريقة للسماح بأحجام مخصّصة لأحواض السباحة المُعاد تدويرها - تمت إضافة السمة
WRAP_CONTENT
إلى العنصر إعداد عرض التصميم لدعم المحتوى الملفوف لرموز العناوين. - تم تحديد
R.transition
في XML إلى لتحسين تحديثات النقل. - تم تفعيل دعم التنسيقات من اليمين إلى اليسار.
- تمت إضافة إمكانية تشغيل الأحداث الرئيسية للوسائط وإيقافها مؤقتًا إلى
صف واحد (
PlaybackOverlayFragment
). - تمت إضافة انتقالات الإدخال والرجوع إلى
BrowseFragment
الصف و صف واحد (DetailsFragment
). - تمت إضافة الطريقة
replace()
لاستبدال العناصر في مصفوفة محوّل العناصر.
- تمت إضافة
- التغييرات التي طرأت على مكتبة Mediarouter v7:
-
- تم تحديث رموز Google Cast لاستخدام التصميم المتعدد الأبعاد.
- تم تعديل جميع الرموز المستخدمة في مربّعات الحوار
MediaRouter
لاستخدام التصميم المتعدد الأبعاد.
- تغييرات مكتبة إعادة التدوير الإصدار 7:
-
- تمت إضافة
getlayoutPosition()
وgetadapterPosition()
طريقة للوصول إلىRecyclerView
الصف. - تم إيقاف
classgetChildPosition()
وfindViewHolderForPosition()
طريقة في صف واحد (RecyclerView
). - تم إيقاف الطريقة
getPosition()
في صف واحد (RecyclerView.ViewHolder
). - تم إيقاف الطريقة
getViewPosition()
في صف واحد (RecyclerView.LayoutParams
).
- تمت إضافة
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- تمت إضافة عدة عناصر
NotificationCompat.WearableExtender
طرق لتحسين عرض الرموز الشريطية في الإشعارات على الأجهزة القابلة للارتداء.
- تمت إضافة عدة عناصر
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- تاريخ الإضافة:
NotificationCompat.CarExtender
لإتاحة إضافات Android Auto بالإشعارات.
- تاريخ الإضافة:
- التغييرات التي طرأت على مكتبة تطبيقات v7 المتوافقة:
-
- تمت إضافة الدالة الإنشائية
PopupMenu
لدعم النافذة المنبثقة الجديدة. القوائم. - تمت إضافة معلومات عن وصف رمز التصغير في
Toolbar
. الصف. - تم تعديل التطبيق المصغّر "
SearchView
" لإتاحة عرضcommitIcon
. - تمت إزالة السمة
buttonGravity
من صف واحد (Toolbar
).
- تمت إضافة الدالة الإنشائية
- التغييرات التي طرأت على مكتبة مشاهدات البطاقات الإصدار 7:
-
- تمت إضافة واجهة برمجة التطبيقات
setCardBackgroundColor(ColorStateList)
إلى يتيح تغيير لون خلفيةCardView
. - تم تغيير
CardView
للإبلاغ بدقة أكبر عن قيمة التعتيم كـTRANSLUCENT
.
- تمت إضافة واجهة برمجة التطبيقات
- تغييرات في إعادة التدوير للإصدار 7 المكتبة:
-
- تمت إضافة
TOUCH_SLOP_DEFAULT
وTOUCH_SLOP_PAGING
ثوابت إلى الفئةRecyclerView
لدعم تكوينات شريط اللمس للتنقّل بين الصفحات.
- تمت إضافة
- التغييرات التي تم إجراؤها على الإصدار 17 من مكتبة leanback:
-
- تم توفير إمكانية إنشاء أجزاء من رموز الإصدار 4.
- تم تغيير لون النص الثانوي في "
CardView
".
- تمت الإضافة مكتبة دعم Multidex ملفات Dalvik القابلة للتنفيذ (DEX) لدعم الملفات المتعدّدة الأذونات قبل الإصدار Android 5.0.
- التغييرات التي طرأت على مكتبة دعم الإصدار 4:
-
- إضافة دعم لـ
Fragment
الانتقالات للأجهزة التي تعمل بنظام التشغيل Android 5.0 (مستوى واجهة برمجة التطبيقات 21). يُرجى العلم بأنّ عمليات النقل ليس لها أي تأثير على الأجهزة التي تعمل. Android 4.4 والإصدارات الأقدم - تمت إضافة
DocumentFile
لتسهيل الاستخدام. عملية الانتقال منFile
أثناء العمل على أشجار التوثيق. ومع ذلك، تتطلب هذه الفئة المزيد من النفقات العامة للمعالجة مقارنةً بمنصة تمت إضافة واجهة برمجة تطبيقاتDocumentsContract
في Android 4.4 (المستوى 19) لذلك، يجب عليك التبديل إلى استخدامDocumentsContract
عند التشغيل على Android 4.4 وأعلى.
- إضافة دعم لـ
- تغييرات v7 appcompat المكتبة:
-
- تمت إضافة دعم لـ material (المادّة) تصميم واجهات المستخدم.
- تمت إضافة
Toolbar
، بشكل عام. وظائفActionBar
استخدامها ضمن تخطيطات التطبيق. - تاريخ التعديل:
ActionBarDrawerToggle
الذي يحتوي على الرسوم المتحركة من القائمة إلى السهم - تعديل التطبيقات المصغّرة لواجهة المستخدم الشائعة لإتاحة التلوين من خلال المظهر السمات عند تشغيلها على أجهزة تعمل بإصدار أقدم من Android 5.0
- تمت إضافة
SwitchCompat
، منفذ خلفي التطبيق المصغّر "Switch
" الذي تمت إضافته في Android 4.0 (المستوى 14)
- مكتبة بطاقات في الإصدار 7 الجديدة:
-
- تمّت إضافة التطبيق المصغّر "
CardView
" تنفيذًا متوافقًا مع التصميم المتعدد الأبعاد لعرض عناصر البيانات.
- تمّت إضافة التطبيق المصغّر "
- إعادة التدوير الإصدار 7 الجديد المكتبة:
-
- تمّت إضافة التطبيق المصغّر "
RecyclerView
" والتي تقدّم عرض قائمة مرنة لتوفير فترة محدودة إلى مجموعة بيانات كبيرة.
- تمّت إضافة التطبيق المصغّر "
- مكتبة لوحات الإصدار 7 الجديدة:
-
- تمت إضافة صف واحد (
Palette
)، التي تتيح لك استخراج الألوان البارزة من صورة
- تمت إضافة صف واحد (
- مكتبة الإصدار 17 من leanback الجديدة:
-
- إضافة دعم لإنشاء واجهات المستخدم للتلفزيون، بما في ذلك
BrowseFragment
,DetailsFragment
وPlaybackOverlayFragment
لمزيد من المعلومات عن استخدام أدوات واجهة المستخدم هذه، راجع إنشاء أجهزة التلفزيون تطبيقات التشغيل:
- إضافة دعم لإنشاء واجهات المستخدم للتلفزيون، بما في ذلك
- التغييرات لمكتبة دعم الإصدار 4:
-
- تمت إضافة دعم الإشعارات الممتد لنظام Android Wear في
NotificationCompat.WearableExtender
، ما يسمح لك لتحديد الميزات الخاصة بالأجهزة القابلة للارتداء في الإشعارات. - تمت إضافة
NotificationCompat.Action.WearableExtender
، الذي يسمح بإضافة إجراءات إلى إشعارات الأجهزة القابلة للارتداء. - تمت إضافة
NotificationManagerCompat
، ما يتيح لك لإصدار إشعارات تتوافق مع ميزات الأجهزة القابلة للارتداء بشكل صحيح. - تمت إضافة
RemoteInput
، ما يسمح بحمل جهاز محمول باليد. لتلقي الإدخال الصوتي من إشعار يظهر على جهاز قابل للارتداء. - تم تحسين التعامل مع الملاحظات والآراء باللمس في
SwipeRefreshLayout
- تمت إضافة دعم الإشعارات الممتد لنظام Android Wear في
- التغييرات لمكتبة دعم الإصدار 4:
-
- تمت إضافة الفئة
SwipeRefreshLayout
، والذي يمكّن المستخدمين من تحديث محتوى طريقة العرض باستخدام إيماءة التمرير السريع. - تم إصلاح مشكلات إمكانية الوصول المتعلقة بأدراج التنقل.
- تمت إضافة الفئة
- التغييرات لمكتبة التطبيقات المتوافقة مع الإصدار 7:
-
- تم إصلاح مشاكل الخلفية في شريط الإجراءات.
- التغييرات لمكتبة دعم الإصدار 4:
-
- تم تحسين
PrintHelper
عن طريق إضافة القيم غير المتزامنة مناولة الطباعة. - تم إصلاح تقريب فئة
DrawerLayout
addChildrenForAccessibility()
. - تم إصلاح النسخ المطابق القابل للرسم على الشريحة في
ActionBarDrawerToggle
. - تم إصلاح مشكلة فردية عند إزالة عنصر من مكرّر مجموعة.
- تم تحسين
- تغييرات لمكتبة Mediarouter الإصدار 7:
-
- تم تحسين عملية تحديد المسار باستخدام اسم المكوِّن الكامل في
MediaRouteProvider.ProviderMetadata
. - تم تعديل إعدادات "
MediaRouteChooserDialog
" لإخفاء الخيار غير مفعَّل. والمسارات.
- تم تحسين عملية تحديد المسار باستخدام اسم المكوِّن الكامل في
- التغييرات في مكتبة النصوص البرمجية الخاصة بالإصدار v8
-
- تمت إضافة عملية نشر الخطأ لطبقة التصويب في RenderScript.
- التغييرات لمكتبة دعم الإصدار 4:
-
- تمت إضافة إمكانية استخدام واجهات برمجة تطبيقات التخزين الخارجية مع
getObbDirs()
,getExternalFilesDirs()
,getExternalCacheDirs()
, وgetStorageState()
. تعرض هذه الطرق المساعدة دائمًا كائن ملف واحد على الأجهزة التي تعمل بنظام Android 4.3 (المستوى 18 من واجهة برمجة التطبيقات) والإصدارات الأقدم وعند استخدامها على Android 4.4 (المستوى 19 من واجهة برمجة التطبيقات) والإصدارات الأحدث، قد تُرجع هذه الطرق أكثر من كائن ملف واحد. - تمت إضافة الفئة
PrintHelper
التي تعمل مع. واجهات برمجة تطبيقات الطباعة لطباعة الصور باستخدام حد أدنى من الرموز البرمجية - تمت إضافة دعم واجهة مستخدم السحب للفتح للقوائم المنبثقة. لمزيد من المعلومات، يُرجى مراجعة
PopupMenuCompat
وListPopupWindowCompat
- تم تحسين دعم إمكانية الوصول مع إضافة
طريقة "
findFocus()
" فيAccessibilityNodeProviderCompat
و طريقة الدفعgetLiveRegion()
فيAccessibilityNodeInfoCompat
- تمت إضافة فئة المساعد
ScaleGestureDetectorCompat
للحساب الوصول إلى طرق إيماءة التوسيع الجديدة. - تم حل مشكلة "
ActionBarDrawerToggle
" في اللغات من اليمين إلى اليسار. - تم تعديل خيار
AutoScrollHelper
للاستهلاك. لمس الأحداث أو السماح بتمريرها إلى طرق عرض أخرى.
- تمت إضافة إمكانية استخدام واجهات برمجة تطبيقات التخزين الخارجية مع
- تغييرات لمكتبة Mediarouter الإصدار 7:
-
- تم توفير إمكانية إضافة الوسائط إلى قائمة انتظار التشغيل، مع ضبط قيم عناوين HTTP والوسائط. مدة التشغيل.
- تمت إضافة إجراءات صريحة لبدء الجلسة والحصول عليها وإنهائها لإدارة الوسائط بشكل صريح جلسات التشغيل باستخدام موجه الوسائط.
- التغييرات لمكتبة دعم الإصدار 4:
-
- واجهة المستخدم
- تمت إضافة
BidiFormatter
للتعامل مع العنصر. سلاسل نصية تجمع بين نص من اليمين إلى اليسار ومن اليسار إلى اليمين. - تم تعديل
ViewPager
للتعامل بشكل أفضل مع الحالات التي يبلغ عرض جهاز النداء صفر في مرحلة معالجة التصميم الأولية. - تاريخ التعديل ووقته:
DrawerLayout
SlidingPaneLayout
لعدم طرح استثناءات القياس أثناء تعديل رمز المشروع.
- تمت إضافة
- مزايا مناسبة لذوي الاحتياجات الخاصة
- تمت إضافة
ExploreByTouchHelper
لتبسيط تنفيذ إمكانية الوصول لطرق العرض المخصصة. - تم إصلاح مشكلة في "
ViewPager
" بشكل غير صحيح جارٍ تعبئةTYPE_VIEW_SCROLLED
حدث لإمكانية الوصول. - تم إصلاح استثناء مؤشر فارغ في
ViewPager
عند تعبئة حدث إمكانية وصول. AccessibilityNodeInfoCompat
المبسطة من خلال تغيير إدخالاتCharSequence
إلى عناصرString
.- تم إيقاف
AccessibilityRecordCompat
الدالة الإنشائية التي استخدمتObject
كإدخال.
- تمت إضافة
- الوسائط
- تمت إضافة صف مساعد واحد (
TransportMediator
) لإدارته. التحكم في نقل الوسائط، مثل التشغيل والإيقاف المؤقت والتخطي وغير ذلك من إجراءات الوسائط. - تمت إضافة "
DisplayManagerCompat
" لأغراض الإدارة. على شاشة جهاز واحدة أو أكثر
- تمت إضافة صف مساعد واحد (
- التغييرات الأخرى
- تمت إضافة فئة مساعد واحدة (
WakefulBroadcastReceiver
) للحساب تنفيذ نمط شائع لرصد حدث تنشيط الجهاز وإتمام العمل إلىService
مع التأكد من عدم رجوع الجهاز إلى قبل اكتمال التسليم. - تمت إضافة اثنين من واجهات برمجة التطبيقات الجديدة،
commitContentChanged()
وrollbackContentChanged()
، إلىAsyncTaskLoader
إلى المساعدة في التعامل مع تحديثات الخلفية لتغييرات البيانات التي يتم إلغاؤها في وقت لاحق.
- تمت إضافة فئة مساعد واحدة (
- واجهة المستخدم
- مكتبة تطبيقات الإصدار 7 الجديدة:
- مكتبة Mediarouter الإصدار 7 الجديدة:
-
تمت إضافة مكتبة جهاز توجيه وسائط جديدة تتوافق مع معاينة مطوِّر برامج Google Cast. توفر واجهات برمجة التطبيقات لمكتبة Mediarouter الإصدار v7 وسيلة للتحكم في توجيه وقنوات الوسائط وعمليات البث من الجهاز الحالي إلى الشاشات الخارجية ومكبرات الصوت وأجهزة الوجهة الأخرى، مع مراعاة التوافق مرة أخرى مع Android 2.1. (المستوى 7 من واجهة برمجة التطبيقات) راجع V7 Mediarouter للحصول على مزيد من المعلومات.
واجهات برمجة التطبيقات التابعة لمكتبة Mediarouter الإصدار 7 التي تم تقديمها في خدمة الدعم تخضع الإصدار r18 للمكتبة للتغيير في المراجعات اللاحقة من فريق الدعم المكتبة. في الوقت الحالي، ننصح باستخدام المكتبة في ما يتعلّق فقط باستخدام Google Cast معاينة مطوّر البرامج.
- التغييرات لمكتبة دعم الإصدار 4:
-
- تمت إضافة "
DrawerLayout
" لإنشاء التنقل الدرج الذي يمكن سحبه من حافة النافذة. - تمت إضافة التطبيق المصغّر "
SlidingPaneLayout
" لإنشاء الروابط طرق عرض الملخص والتفاصيل التي تتكيّف بشكل مناسب مع أحجام الشاشات المختلفة. - تمت إضافة "
ActionBarDrawerToggle
" كطريقة ربط دالاتDrawerLayout
وActionBar
معًا. - تمت إضافة
ViewDragHelper
كمكوِّن مشترك جديد. لسحب طرق العرض في طريقة العرض الأصلية. - تمت إضافة
ScrollerCompat
لتوفير التوافق معScroller
وOverScroller
. - تمت إضافة
FileProvider
للسماح بمشاركة الصور الخاصة. الملفات بين التطبيقات. - تم تعديل السمة
ViewPager
لطرح استثناء إذا كانت يتم تعديل فئةPagerAdapter
المرتبطة بدون مكالمة لـnotifyDataSetChanged()
. - تم إصلاح مشكلة كانت تظهر بترتيب رسم واحد (
ViewPager
) طفل طلبك. - تم إصلاح
GestureDetectorCompat
للإرسال غير متوفر.onSingleTapConfirmed(MotionEvent)
مكالمة بين مهلة النقر وأحداث الضغط المطوّل.
- تمت إضافة "
- مكتبة تنسيق الشبكة الإصدار 7 الجديدة:
-
- تمت إضافة
GridLayout
لتقديم الدعم لـ كائن التنسيقGridLayout
. - تمت إضافة
android.support.v7.widget.Space
، والذي يمكن استخدامه لإنشاء مناطق فارغة. داخل كائن تنسيقGridLayout
.
- تمت إضافة
- التغييرات لمكتبة دعم الإصدار 4:
-
- تم تحسين سلوك التفاعل في
ViewPager
. - تم إصلاح الخطأ الذي قد يدفع "
ViewPager
" إلى اختيار صفحة خاطئة. - استخدام ثابت لطريقة
removeView()
أثناء تنسيقViewPager
. - تم إصلاح المشكلة في "
SearchViewCompat
" أثناء استخدام زر الرجوع للإغلاق لا يؤدي إلى محو نص البحث. لا ينطبق هذا الإصلاح إلا على المضيف للمستويات 14 والأعلى من واجهة برمجة التطبيقات.
- تم تحسين سلوك التفاعل في
- التغييرات لمكتبة دعم الإصدار 4:
-
- واجهة المستخدم
- تمت إضافة الدعم لفئات
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
البث.
- واجهة المستخدم
- التغييرات لمكتبة دعم الإصدار 4:
-
- دعم إضافي لميزات الإشعارات التي تم تقديمها في الإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات) مع
الإضافات إلى
NotificationCompat
.
- دعم إضافي لميزات الإشعارات التي تم تقديمها في الإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات) مع
الإضافات إلى
- التغييرات لمكتبة دعم الإصدار 4:
-
- دعم واجهة المستخدم
- تمت إضافة دعم
PagerTabStrip
، ما يوفر وظائف أخرى تتجاوزPagerTitleStrip
. - تم إصلاح أخطاء مختلفة في
PagerTitleStrip
PagerTabStrip
، بما في ذلك خيارsetAllCaps
ومحاذاة العنوان تحسينات في المظهر وقيود العرض الأدنى ومشكلات التنقل باللمس. - تمت إضافة دعم هوامش التوثيق للصفحات في
ViewPager
، والتي تساعد الفئةViewPager
في توفير دعم الانتقال للصفحات التي تحتوي على نطاق تمرير أفقي كبير، مثل خريطة. - تم إصلاح العديد من الأخطاء في
ViewPager
، بما في ذلك الحجم. ومشكلات تغيير مجموعة البيانات وتحديد موضع الصفحة وتفاعل المستخدم وتتبع التمرير ولوحة المفاتيح مشكلات التنقل. - تم إصلاح العديد من الأخطاء في
Fragment
، بما فيها أخطاء الخطأ التعامل معonActivityResult()
عند لم يعد الجزء المستهدف موجودًا، وإرسال أحداث التحديد إلى أجزاء غير مرئية، وتحسين سلوكFragmentTransaction.replace()
وإضافة معالجة أفضل لحالة الأجزاء التي يتم نقلها إلى مكان آخر. - تمت إضافة إمكانية استخدام طريقة
postOnAnimation()
فيViewCompat
. - تم تحديث "
NavUtils
" لاستخدام الإصدار 4.1 من نظام التشغيل Android (المستوى 16 من واجهة برمجة التطبيقات). وظائف التنقّل لأعلى عند توفّرها.
- تمت إضافة دعم
- مزايا مناسبة لذوي الاحتياجات الخاصة
- تم تحديث فئات دعم تسهيل الاستخدام، بما في ذلك
AccessibilityNodeInfoCompat
، لمتابعة الإصلاحات التي تم إجراؤها في Android. 4.1 (المستوى 16 من واجهة برمجة التطبيقات). - تمت إضافة الدعم لإجراءات التمرير لتسهيل الاستخدام في
ViewPager
.
- تم تحديث فئات دعم تسهيل الاستخدام، بما في ذلك
- تحسينات عامة
- تم تعديل
TaskStackBuilder
ليعكس التغييرات في واجهة برمجة التطبيقات في Android 4.1 (المستوى 16) - تم تحسين "
TaskStackBuilder
" للسماح باستخدامها من إحدى الخدمات. - إضافة دعم لـ
EXTRA_HTML_TEXT
إلىShareCompat
. - تم تعديل
NotificationCompat.Builder
لإتاحة استخدام طريقةsetNumber()
. - تمت إضافة معلومات الدعم في
ConnectivityManagerCompat
طريقةisActiveNetworkMetered()
.
- تم تعديل
- دعم واجهة المستخدم
- التغييرات لمكتبة دعم الإصدار 4:
-
- تم إنشاء علامات بأهداف ثابتة لـ
PendingIntent
عناصر بواسطةTaskStackBuilder
- تمت إزالة السمات غير المستخدَمة من مشاريع مكتبة تنسيق الشبكة للتأكّد من يمكن إنشاء المكتبة باستخدام مستوى واجهة برمجة التطبيقات 7 والأعلى.
- تمت إضافة
.classpath
و.project
ملف لتنسيق الشبكة. مشروع المكتبة.
- تم إنشاء علامات بأهداف ثابتة لـ
- التغييرات لمكتبة دعم الإصدار 4:
-
- تمت إضافة
ShareCompat
، وهي توفّر صفوف مساعدة. لإرسال المحتوى واستقباله عبر تطبيقات المشاركة على شبكات التواصل الاجتماعي، بما في ذلك البيانات الوصفية الجديدة إحالة البيانات المشتركة إلى التطبيق المصدر. توفّر هذه الفئة أيضًا تكاملاً متوافقًا مع الجديدShareActionProvider
في الإصدار Android 4.0. - تمت إضافة
NavUtils
وTaskStackBuilder
لتوفير الدعم لتنفيذ إرشادات تصميم Android للتنقل. هذه وتتضمن الإضافات طريقة لتنفيذ الزر لأعلى في شريط الإجراءات عبر الإصدارات. للحصول على مثال لتنفيذ هذا النمط، اطلع على نموذج App Navigation في (<em><sdk></em>/samples/<em><platform></em>/AppNavigation
). - تمت إضافة
NotificationCompat.Builder
لتوفير تنفيذ التوافق لفئة مساعدNotification.Builder
في Android 3.0 لإنشاء إشعارات نظام موحدة.
- تمت إضافة
- التغييرات لمكتبة دعم الإصدار 4:
-
- التغييرات التي تم إجراؤها على ViewPager:
- تم توفير المزيد من طُرق العرض الزخرفية لـ "
ViewPager
". قد يتم تقديم طرق العرض الزخرفية كطرق عرض فرعية لجهاز نداء بتنسيق XML. - تمت إضافة
PagerAdapter.getPageTitle()
لتوفير سلاسل العناوين للصفحات، والتي يتم ضبطها تلقائيًا على "لا". عنوان كل صفحة. - تمت إضافة
PagerTitleStrip
، وهو عنوان غير تفاعلي الذي يمكن إضافته كعنصر فرعي لـ ViewPager. يمكن للمطوّرين إرسال نصوص المظهر واللون، بالإضافة إلى معلومات حجم التخطيط والجاذبية. - تم تعديل
PagerAdapter
طريقة لاستخدام ViewGroup. بدلاً من "عرض" لتجنُّب بث الفئة في عمليات تنفيذ المهايئات. - تم تحديث
ViewPager
لاستخدام نمط مشغّل التطبيقات أسلوب الانتقال السريع. - إصلاح الأخطاء المتعلّقة بتفاعل واجهة المستخدم وأتمتة الاختبار
- تم توفير المزيد من طُرق العرض الزخرفية لـ "
- دعم للأجزاء:
- تم تغيير طريقة
setStartDeferred()
إلىsetUserVisibleHint(boolean)
. - تمت إضافة وقت بدء مؤجَّل للصفحات التي لا تظهر على الشاشة من أجل تحسين الأداء.
- تم تغيير طريقة
- دعم واجهات برمجة التطبيقات Accessibility API:
- تم تعديل
AccessibilityDelegateCompat
طريقة. لعرض قوائم فارغة بدلاً من خالية. - تمت إضافة واجهات برمجة تطبيقات جديدة تحتاجها نماذج v4.
- تم تعديل
- التغييرات التي تم إجراؤها على ViewPager:
- التغييرات لمكتبة دعم الإصدار 4:
-
- دعم واجهات برمجة التطبيقات Accessibility API:
- تاريخ الإضافة:
AccessibilityDelegateCompat
لإتاحةView.AccessibilityDelegate
- تاريخ الإضافة:
AccessibilityEventCompat
لإتاحةAccessibilityEvent
- تاريخ الإضافة:
AccessibilityManagerCompat
لإتاحةAccessibilityManager
- تاريخ الإضافة:
AccessibilityNodeInfoCompat
لإتاحةAccessibilityNodeInfo
- تاريخ الإضافة:
AccessibilityRecordCompat
لإتاحةAccessibilityRecord
- تاريخ الإضافة:
AccessibilityServiceInfoCompat
لإتاحةAccessibilityServiceInfo
- تاريخ الإضافة:
ViewGroupCompat
لإتاحة ميزات تسهيل الاستخدام فيViewGroup
. - تم التعديل في
ViewCompat
لإتاحة ميزات تسهيل الاستخدام فيView
.
- تاريخ الإضافة:
- التغييرات التي تم إجراؤها على ViewPager:
- تمت إضافة دعم الهوامش بين الصفحات.
يمكن توفير سمة
Drawable
اختيارية. لملء الهوامش. - تمت إضافة دعم لـ
EdgeEffect
. - تمت إضافة إمكانية التنقّل باستخدام لوحة المفاتيح.
- تمت إضافة الدعم للتحكم في عدد الصفحات التي يتم الاحتفاظ بها على أي من الجانبين. من الصفحة الحالية.
- تحسين فيزياء اللمس.
- إصلاح الأخطاء في سلوك واجهة المستخدم
- تمت إضافة دعم الهوامش بين الصفحات.
يمكن توفير سمة
- دعم واجهات برمجة التطبيقات Accessibility API:
- التغييرات لمكتبة دعم الإصدار 4:
-
- تمت إضافة "
EdgeEffectCompat
" إلى تتيحEdgeEffect
. - تمت إضافة
LocalBroadcastManager
للسماح للتطبيقات بسهولة. التسجيل والحصول على الأهداف داخل طلب واحد دون وبثها على مستوى العالم. - تمت إضافة دعم في
ViewCompat
للتحقق من التمرير الزائد وضبطه. أوضاعView
على نظام Android 2.3 والإصدارات الأحدث. - التغييرات على واجهات برمجة تطبيقات Fragment:
- تمت إضافة واجهات برمجة تطبيقات جديدة للتحكّم في إمكانية رؤية القوائم الجديدة.
- تمت إضافة واجهات برمجة تطبيقات الرسوم المتحركة المخصصة.
- تمت إضافة واجهات برمجة التطبيقات في
FragmentActivity
للاحتفاظ بالتخصيص بيانات مثيل غير التهيئة. - إصلاح أخطاء متنوعة.
- تم إصلاح خطأ
Loader
تسبب في مشاكل في إلغاءAsyncTask
عند التشغيل على Froyo والإصدارات الأقدم من المنصة. الدعم يستخدم الرمز الآن نسخته الخاصة منAsyncTask
لإبقاء القيم نفسها السلوك على جميع إصدارات الأنظمة الأساسية.
- تمت إضافة "
- التغييرات لمكتبة دعم الإصدار 4:
-
- إتاحة استخدام
Fragment.SavedState
- إضافة
MotionEventCompat
لإتاحة واجهات برمجة تطبيقاتMotionEvent
الأحدث - إضافة
VelocityTrackerCompat
لإتاحة واجهات برمجة تطبيقاتVelocityTracker
جديدة - إضافة
ViewConfigurationCompat
لإتاحة واجهات برمجة تطبيقاتViewConfiguration
جديدة - جميع واجهات برمجة التطبيقات الجديدة (المتوفرة فقط في مكتبة الدعم) التي تتيح لك إنشاء واجهات مستخدم
باستخدام التنقل الأفقي، ما يتيح للمستخدمين التمرير سريعًا لليمين واليسار بين طرق عرض المحتوى. من الفئات إلى
على ما يلي:
ViewPager
: جهازViewGroup
يدير لطرق العرض الفرعية، والتي يمكن للمستخدم التمرير بينها.PagerAdapter
: محوّل يملأViewPager
طرق العرض التي تمثل كل صفحة.FragmentPagerAdapter
: امتدادPagerAdapter
للقلب بين الأجزاء.FragmentStatePagerAdapter
: امتدادPagerAdapter
لطلب البحث التبديل بين الأجزاء التي تستخدم الدعم المتوفر في المكتبة للغةFragment.SavedState
.
- إتاحة استخدام
- مكتبة دعم الإصدار 13 الجديد:
-
- تتضمّن
FragmentPagerAdapter
وFragmentStatePagerAdapter
. لإتاحة الترحيل الأفقي.هذه هي نفسها تمامًا واجهات برمجة التطبيقات التي تمت إضافتها إلى مكتبة دعم الإصدار 4، ولكن تعتمد على ومكونات النظام الأساسي الأخرى في Android 3.2. استخدم هذه المكتبة بدلاً من الإصدار 4 إذا كنت تطوِّر الإصدار 3.2 من نظام التشغيل Android والإصدارات الأحدث (جميع واجهات برمجة التطبيقات الأخرى في مكتبة الإصدار 4 متوفرة من قبل بمستوى واجهة برمجة التطبيقات) 13.
- تتضمّن
- التغييرات لمكتبة الإصدار 4:
-
- دعم الرسوم المتحركة للأجزاء
- حلّ المشاكل في "
Fragment.onActivityResult()
" خطأ
المراجعة 22
مارس 2015
المراجعة 21.0.3
كانون الأول (ديسمبر) 2014
المراجعة 21.0.2
تشرين الثاني (نوفمبر) 2014
المراجعة 21.0.1
تشرين الثاني (نوفمبر) 2014
المراجعة 21
تشرين الأول (أكتوبر) 2014
المراجعة 20
تموز (يوليو) 2014
الإصدار 19.1.0
مارس 2014
الإصدار 19.0.1
كانون الأول (ديسمبر) 2013
المراجعة 19
تشرين الأول (أكتوبر) 2013
المراجعة 18
تموز (يوليو) 2013
المراجعة 13
أيار (مايو) 2013
المراجعة 12
شباط (فبراير) 2013
المراجعة 11
تشرين الثاني (نوفمبر) 2012
المراجعة 10
آب (أغسطس) 2012
المراجعة 9
حزيران (يونيو) 2012
المراجعة 8
نيسان (أبريل) 2012
المراجعة 7
آذار (مارس)، 2012
المراجعة 6
كانون الأول (ديسمبر)، 2011
ملاحظة: يتوفّر الآن مرجع لواجهات برمجة تطبيقات مكتبة الدعم مع
مراجع إطار العمل، على سبيل المثال: android.support.v4.app
.
المراجعة 5
كانون الأول (ديسمبر)، 2011
المراجعة 4
تشرين الأول (أكتوبر) 2011
المراجعة 3
تموز (يوليو) 2011
المراجعة 2
أيار (مايو) 2011
المراجعة 1
آذار (مارس) 2011
الإصدار الأولي مع مكتبة الإصدار 4.