หน้านี้มีรายละเอียดเกี่ยวกับการเปิดตัวแพ็กเกจ Support Library เวอร์ชันเก่า สำหรับ การเผยแพร่ไลบรารีการสนับสนุนล่าสุด โปรดดูที่ล่าสุด รองรับการแก้ไขไลบรารี
การแก้ไข 26.0.0 เบต้า 2
(มิถุนายน 2017)
โปรดทราบว่า 26.0.0-beta2 เป็นเวอร์ชันก่อนเผยแพร่ แพลตฟอร์ม API ของแพลตฟอร์มคือ อาจเปลี่ยนแปลงได้ และไม่จำเป็นต้องมีฟีเจอร์หรือการแก้ไขข้อบกพร่อง จาก Support Library เวอร์ชันเสถียรล่าสุด
สำคัญ: ไลบรารีการสนับสนุนพร้อมใช้งานแล้ว ผ่านที่เก็บ Maven ของ Google คุณไม่จำเป็นต้องดาวน์โหลดการสนับสนุน จาก SDK Manager สำหรับข้อมูลเพิ่มเติม โปรดดู การตั้งค่าคลังการสนับสนุน
API ใหม่
- ชั้นเรียน
JobIntentServiceใหม่พร้อมช่วยเหลือ นักพัฒนาซอฟต์แวร์กำหนดเวลางานให้สอดคล้องกับ Android O ใหม่ ขีดจำกัดการดำเนินการในเบื้องหลัง
ความแตกต่างของ API
การแก้ไขข้อบกพร่อง
- การลดลงของ Android O SDK ทำให้ตัวเอียงใน TextView หายไป
- ข้อยกเว้นของตัวชี้ Null เมื่อเชื่อมต่อกับ MediaBrowserServiceCompat
- TextInputLayout ต้องตั้งค่าคำแนะนำ onProvideAutofillStructure()
- สแต็กโอเวอร์โฟลว์เมื่อใช้ขนาดอัตโนมัติของ TextView ใน O
การแก้ไข 26.0.0 เบต้า 1
(พฤษภาคม 2017)
โปรดทราบว่า 26.0.0-beta1 เป็นเวอร์ชันก่อนเผยแพร่ แพลตฟอร์ม API ของแพลตฟอร์มคือ อาจเปลี่ยนแปลงได้ และไม่จำเป็นต้องมีฟีเจอร์หรือการแก้ไขข้อบกพร่อง จาก Support Library เวอร์ชันเสถียรล่าสุด
สำคัญ: ไลบรารีการสนับสนุนพร้อมใช้งานแล้ว ผ่านที่เก็บ Maven ของ Google คุณไม่จำเป็นต้องดาวน์โหลดการสนับสนุน จาก SDK Manager สำหรับข้อมูลเพิ่มเติม โปรดดู การตั้งค่าคลังการสนับสนุน
การเปลี่ยนแปลงที่สำคัญ
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()) อัปเดตประเภทแล้ว
- ซึ่งอาจทำให้โค้ดที่มีอยู่ตอนนี้มีประเภทผลลัพธ์ไม่ชัดเจน
เช่น ถ้ามีทั้ง
API ใหม่
-
FragmentManagerและFragmentมีisStateSaved()เพื่อให้มีการสอบถามว่า การทำธุรกรรมจะได้รับอนุญาตโดยไม่มีการสูญเสียสถานะ ซึ่งจะเป็นประโยชน์อย่างยิ่ง เพื่อตรวจสอบเมื่อจัดการเหตุการณ์onClick()ก่อนดําเนินการใดๆ ธุรกรรม - รองรับการเคลื่อนไหวเส้นทางใน
AnimatedVectorDrawableCompatการเคลื่อนไหวของเส้นทางช่วยให้ตัวสร้างการเคลื่อนไหวของออบเจ็กต์รายการหนึ่งเปลี่ยนคุณสมบัติ 2 รายการได้พร้อมกัน ตามเส้นทางหนึ่ง เส้นทางจะระบุเป็น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ใหม่ที่แสดงผลการเล่น ด้วย SeekBarPlaybackTransportControlGlueใหม่ที่ใช้งานได้กับPlaybackTransportRowPresenterและรองรับการกรอวิดีโอ- คลาสฐานใหม่
PlaybackSeekDataProviderสำหรับแอปเพื่อ แสดงภาพขนาดย่อสำหรับค้นหาให้กับPlaybackTransportControlGlue
- ที่เก็บข้อมูลค่ากำหนด:
-
PreferenceDataStoreช่วยให้คุณติดตั้งใช้งาน การจัดเก็บค่ากำหนด ตั้งค่าด้วยวิธีการใหม่ในPreferenceและPreferenceManager
-
ปัญหาที่ทราบ
- การผสานรวมความเข้ากันได้กับแบบอักษรและอีโมจิที่ดาวน์โหลดได้กับ Google Play บริการทำงานเฉพาะในบริการ Google Play v11+ ซึ่งปัจจุบัน พร้อมให้บริการผ่าน Google Play บริการเวอร์ชันเบต้า
การแก้ไขข้อบกพร่อง
-
MediaBrowserCompat.search()API ไม่ทำงาน (ปัญหาเกี่ยวกับ AOSP 262170) -
ViewCompat.postInvalidateOnAnimation()ส่งข้อยกเว้น (AOSP ฉบับ 80146) -
onActivityCreated()เรียกใช้ส่วนย่อยในกิจกรรมที่ถูกทำลาย -
RecyclerView.isComputingLayout()ควรแสดงผลเป็น "จริง" ระหว่าง ดึงข้อมูลล่วงหน้า -
เมื่อการเปลี่ยน
Fadeถูกขัดจังหวะและย้อนกลับViewเริ่มเล่นภาพเคลื่อนไหวตั้งแต่ต้น (แก้ไขรายการที่โอนมาจาก Android Framework) -
Transition.Fadeละเว้นอัลฟ่าเริ่มต้นของView(ปัญหา AOSP 221820)
การแก้ไข 26.0.0 อัลฟ่า 1
(มีนาคม 2017)
โปรดทราบว่า 26.0.0-alpha1 เป็นเวอร์ชันก่อนเผยแพร่ แพลตฟอร์ม API ของแพลตฟอร์มคือ อาจเปลี่ยนแปลงได้ และไม่จำเป็นต้องมีฟีเจอร์หรือการแก้ไขข้อบกพร่อง จาก Support Library เวอร์ชันเสถียรล่าสุด
การเปลี่ยนแปลงที่สำคัญ
หมายเหตุ: เราเพิ่มเวอร์ชัน SDK ขั้นต่ำเป็น 14 แล้ว ด้วยเหตุนี้ API จำนวนมากที่มีอยู่สำหรับ API โดยเฉพาะ < ความเข้ากันได้ของ 14 เลิกใช้งานแล้ว ลูกค้าของ API เหล่านี้ควรย้ายข้อมูลไปยังเฟรมเวิร์ก เทียบเท่ากับที่ระบุไว้ในหน้าอ้างอิงสำหรับ API ที่เลิกใช้งานแล้วแต่ละรายการ
- เลิกใช้งานโมดูลเปอร์เซ็นต์การสนับสนุนแล้ว ลูกค้าของโมดูลนี้ ควรย้ายข้อมูลไปยังวิดเจ็ต ConstraintLayout ใหม่ซึ่งมีไว้สำหรับ แยกต่างหากใน SDK Manager
- โมดูลส่วนย่อยการสนับสนุนไม่ขึ้นอยู่กับ โมดูล 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 Manager สำหรับข้อมูลเพิ่มเติม โปรดดู การตั้งค่าคลังการสนับสนุน
การเปลี่ยนแปลงที่สำคัญ
- ไม่อนุญาตให้ใช้
executePendingTransactions(),commitNow(),popBackStackImmediate()และการเรียกใช้ธุรกรรมที่คล้ายกันในระหว่าง สถานะของFragmentManagerเปลี่ยนแปลง สมาชิกเก่า การดำเนินธุรกรรมไม่ปลอดภัยและFragmentManagerได้บังคับใช้มาตรการนี้ในระหว่างรัฐ การเปลี่ยนแปลง - ในการเปิดตัวไลบรารีการสนับสนุนนี้ เราจะเปิดตัว
multidex
เวอร์ชัน 1.0.2 เวอร์ชันนี้มีการเปลี่ยนแปลงที่สำคัญดังต่อไปนี้
- อนุญาตการใช้ APK การใช้เครื่องมือหลายอย่างพร้อมกัน
- เลิกใช้งาน MultiDexTestRunner (ควรใช้ AndroidJUnitRunner แทน)
- ให้การป้องกันการดึงข้อมูลที่ไม่ถูกต้องได้ดีขึ้น การจัดการแอป
- แก้ไขข้อบกพร่องที่อาจทำให้เกิดการละทิ้งไฟล์ชั่วคราว
- ช่วยให้ติดตั้งได้รวดเร็วขึ้นเมื่อดำเนินการพร้อมกัน
- แก้ไขข้อบกพร่องในการติดตั้งใน API 19 และ 20
API ใหม่และที่แก้ไข
รองรับการมอร์ฟเส้นทางและการประมาณค่าในช่วงเส้นทางใน AnimatedVectorDrawableCompat การเปลี่ยนภาพเส้นทาง
อนุญาตให้รูปร่างเปลี่ยนจากเส้นทางหนึ่ง (ระบุเป็น
android:valueFrom) ไปยังเส้นทางอื่น (ระบุเป็น
android:valueTo) เพื่อให้รูปภาพซับซ้อนและน่าสนใจ
เอฟเฟกต์ การประมาณค่าในช่วงเส้นทางช่วยให้ระบุตัวการประมาณค่าสำหรับ AnimatedVectorDrawableCompat ได้
เป็นเส้นทาง (ระบุเป็น android:pathData ในคอลัมน์อินเตอร์โพเลเตอร์
XML)
ความแตกต่างของ API
ปัญหาที่แก้ไขแล้ว
- ข้อยกเว้นของตัวชี้ Null เมื่อเชื่อมต่อกับ MediaBrowserServiceCompat
- MediaBrowserCompat.search() API ไม่ทำงาน (ปัญหา AOSP 262170)
- BrowseFragment onItemClicked Callback เสียหายในปี 25.3.0
- NullPointerException ขณะเลื่อนขึ้นและลงใน VerticalGridView ใน 25.3.1
- 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 ที่เลิกใช้งานแล้วเหล่านี้ในเวอร์ชันในอนาคตออกและนักพัฒนาแอปควร ย้ายข้อมูลออก สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีย้ายข้อมูลออกจาก API ที่เฉพาะเจาะจง โปรดดูเอกสารประกอบของ API ดังกล่าว
ExifInterface- เมธอดบูลีน
getLatLong(float[])เลิกใช้งานแล้ว ให้ใช้เมธอดใหม่getLatLong()แทน ซึ่งไม่มีอาร์กิวเมนต์ใดๆ และแสดงผลdouble[] mediacompatPlaybackStateCompat.Builder.setErrorMessage(CharSequence)เลิกใช้งานแล้ว ให้ใช้วิธีการใหม่setErrorMessage(int, CharSequence), ซึ่งต้องส่งผ่านรหัสข้อผิดพลาดและคำอธิบาย (ไม่บังคับ)EXTRA_SUGGESTION_KEYWORDSเลิกใช้งานแล้ว ให้ใช้ ฟังก์ชันการค้นหาMediaBrowserCompatv7.recyclerviewLinearLayoutManager.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ที่แนบอยู่แต่ไม่แสดงบนหน้าจออย่างถูกต้อง - Robolectric ไม่รู้จัก
LinearLayout - เมื่อทำลาย
ActivityจะมีการเรียกonActivityCreated()อย่างไม่ถูกต้อง - ตัวสร้าง
AppCompatImageViewทำให้เกิดArrayIndexOutOfBoundsException - UI มีประสิทธิภาพลดลงในการเปลี่ยนกิจกรรม
Call.Details
การแก้ไข 25.2.0
(กุมภาพันธ์ 2017)
การเปลี่ยนแปลงที่สำคัญ
ปัญหาที่แก้ไขแล้ว
- รุ่นนี้แก้ไขปัญหา MediaRouter ที่รุนแรงซึ่งการใช้ A2DP API การกำหนดเส้นทางของอุปกรณ์และสื่ออาจทำให้อุปกรณ์ไม่ตอบสนอง ต้องรีบูต
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 ของ Support Library หากแอปของคุณใช้
v7 MediaRouter
คุณควรอัปเดตเป็น Support Library Revision 25.2.0
ซึ่งจะแก้ไขข้อบกพร่องนี้
การเปลี่ยนแปลงที่สำคัญ
-
ขณะนี้สามารถเพิ่มประสิทธิภาพธุรกรรม Fragment ภายในและทั่วทั้ง ธุรกรรม การเพิ่มประสิทธิภาพการดำเนินการธุรกรรมส่วนย่อยสามารถกำจัด ที่จะยกเลิก ตัวอย่างเช่น สมมติว่าธุรกรรม 2 รายการ ดำเนินการร่วมกัน ส่วนแรกที่เพิ่มแฟรกเมนต์ A และอีกส่วนหนึ่งที่ แทนที่ส่วนย่อย A ด้วยส่วนย่อย B ในกรณีนี้ การดำเนินการแรก อาจถูกยกเลิก และเพิ่มเฉพาะส่วนย่อย B เท่านั้น ซึ่งหมายความว่าส่วนย่อยนั้น A อาจไม่ผ่านวงจรการสร้าง/การทำลาย
ผลข้างเคียงของการเพิ่มประสิทธิภาพนี้คือส่วนย่อยอาจมีสถานะ เปลี่ยนแปลงจากลำดับที่คาดไว้ ตัวอย่างเช่น สมมติว่ามีธุรกรรมหนึ่ง เพิ่มส่วนย่อย A ส่วนที่สองเพิ่มส่วนย่อย B และส่วนที่ 3 จะนำส่วนย่อยออก ต. ถ้าไม่มีการเพิ่มประสิทธิภาพ ส่วนย่อย B สามารถคาดหวังว่าขณะที่ สร้างแล้ว ส่วนย่อย A จะอยู่ด้วยเช่นกันเนื่องจาก Fragment A จะถูกนำออก หลังจากเพิ่มส่วนย่อย B เมื่อใช้การเพิ่มประสิทธิภาพ ส่วน B ไม่แน่ใจ ส่วน A นั้นจะอยู่ในขณะสร้าง B เนื่องจาก Fragment A การสร้างและการทำลายอาจถูกลบออกโดยการเพิ่มประสิทธิภาพ
การเพิ่มประสิทธิภาพนี้จะปิดใช้โดยค่าเริ่มต้น หากต้องการเปิดใช้การเพิ่มประสิทธิภาพ โทรหา
FragmentTransaction.setAllowOptimization(true) - ตอนนี้ Fragment สามารถเลื่อนการเปลี่ยน และภาพเคลื่อนไหวได้จนกว่าจะ
พร้อมใช้งานแล้วโดยใช้
Fragment.postponeEnterTransition()และFragment.startPostponedEnterTransition()API นี้คล้ายกับActivity.postponeEnterTransition()และActivity.startPostponedEnterTransition()ที่ใช้กับการเปลี่ยนกิจกรรม
ปัญหาที่แก้ไขแล้ว
-
MediaSessionCompatTestล้มเหลวด้วย วันที่IllegalArgumentException -
ไม่มีการเรียกใช้
DetailsFragment.installTitleView()ใน 25.1.0 - ธุรกรรม Fragment ทำให้มี Ghost View เมื่อออก (ฉบับ 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 - "ภาพหน้าจอ" โฟกัสที่แถวด้านบนของหน้าจอ
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()ข้อขัดข้องใน API 15 -
setActions()ในonSubactionClicked()เสีย -
RecyclerViewขัดข้องเมื่อนำตัวยึดตำแหน่งมุมมองบางส่วนกลับมาใช้
การแก้ไข 25.1.0
(ธันวาคม 2016)
สำคัญ: มีข้อบกพร่องที่ทราบใน android.support.v7.media.MediaRouter
ในเวอร์ชัน 25.1.1 และ 25.1.0 ของ Support Library หากแอปของคุณใช้
v7 MediaRouter
คุณควรอัปเดตเป็น Support Library Revision 25.2.0
ซึ่งจะแก้ไขข้อบกพร่องนี้
การเปลี่ยนแปลงที่สำคัญ
- ไคลเอ็นต์ของวิดเจ็ต
RecyclerViewที่ฝัง (เช่น รายการแบบเลื่อนในแนวตั้งของรายการแบบเลื่อนแนวนอน) อาจได้รับ ประโยชน์ด้านประสิทธิภาพที่สำคัญโดยการบอกใบ้ให้ตัวจัดการเลย์เอาต์ของวิดเจ็ตRecyclerViewด้านในมีจำนวนเท่าใด รายการที่ต้องเตรียมก่อนเลื่อนบนหน้าจอ โทรLinearLayoutManager.setInitialPrefetchItemCount(N), โดยที่ N คือจำนวนการดูที่แสดงต่อรายการภายใน ตัวอย่างเช่น หากรายการแนวนอนภายในของคุณแสดงการดูสินค้าอย่างน้อย 3.5 ครั้ง คุณก็สามารถปรับปรุงประสิทธิภาพได้โดยการโทรLinearLayoutManager.setInitialPrefetchItemCount(4)ดังนั้น อนุญาตให้RecyclerViewสร้างทั้งหมดที่เกี่ยวข้อง มียอดดูล่วงหน้า ในขณะที่RecyclerViewด้านนอก การเลื่อนหน้าจอ ซึ่งช่วยลดการกระตุกได้อย่างมากระหว่าง การเลื่อน FragmentActivity.setSupportMediaController()และ วันที่FragmentActivity.getSupportMediaController()เลิกใช้งานแล้ว โปรดใช้MediaControllerCompat.setMediaController()และMediaControllerCompat.getMediaController()แบบคงที่ใหม่- เมื่อไคลเอ็นต์ระบุการแต้มสีวิดเจ็ตผ่านการปรับสมดุลแอป (เช่น
appcompat:buttonTint) ลูกค้ามีหน้าที่ระบุ สถานะที่จำเป็นทั้งหมด (เช่น "ปิดใช้" "กด" ฯลฯ) นี่คือ สอดคล้องกับวิธีระบุการแต้มสีวิดเจ็ตเมื่อใช้การแต้มสีเฟรมเวิร์ก
API ใหม่และที่แก้ไข
- เพิ่ม การรองรับ ExifInterface คลัง ไลบรารีนี้ เลิกรวมกลุ่มที่สนับสนุนการอ่านข้อมูล Exif จาก JPEG และการจัดรูปแบบ RAW ไฟล์ และการตั้งค่าข้อมูล Exif ในไฟล์ภาพ JPEG
- เปลี่ยนโครงสร้างภายในโค้ด
Snackbarเป็น อนุญาตให้แอปแสดงเนื้อหาที่กำหนดเองBaseTransientBottomBarคือคลาสพื้นฐานใหม่ที่แสดง ลักษณะการทำงานของการเลื่อนและภาพเคลื่อนไหวทั่วไป - เพิ่มแพ็กเกจ leanback.media ใหม่ซึ่งมีคลาสตัวช่วยสำหรับการผสานรวมมีเดียเพลเยอร์เข้ากับแอปพลิเคชัน Android TV
- เพิ่ม
SeekBarPreferenceแล้ว พร้อมการออกแบบที่ปรับแต่งได้และแอตทริบิวต์ตามค่ากำหนด v7 ไลบรารีการสนับสนุน - เพิ่ม
ArraySetแล้ว ไปยังไลบรารีการสนับสนุน v4 ชั้นเรียนนี้สอดคล้องกับเฟรมเวิร์ก คลาสArraySetที่เปิดตัวใน API ระดับ 23 - RecyclerView
RecyclerViewรายการ การปรับปรุงการดึงข้อมูลล่วงหน้า- การดึงข้อมูลล่วงหน้าของ
RecyclerViewที่ฝังไว้ เปิดใช้การดึงเนื้อหาล่วงหน้าจากRecyclerViewภายในRecyclerViewที่มีการเลื่อนครั้งอื่น โดยมี API เพื่อควบคุมจำนวน การดึงข้อมูลล่วงหน้าเสร็จแล้ว - เพิ่ม API สำหรับ
LayoutManagerที่กำหนดเองแล้ว ที่ต้องใช้เพื่อเปิดใช้การดึงข้อมูลล่วงหน้าในระหว่างการเลื่อนและการสะบัด - การปรับปรุงการดึงข้อมูลล่วงหน้าเพื่อให้สร้าง/เชื่อมโยงงานได้มากเท่า ที่เป็นไปได้ในระหว่างช่วงเวลาระหว่างเฟรม
- การดึงข้อมูลล่วงหน้าของ
ปัญหาที่แก้ไขแล้ว
- การเปิด/ปิดการแสดงรหัสผ่านไม่ผ่านการทดสอบการช่วยเหลือพิเศษ
- Appcompat ไม่ดำเนินการตาม
state_enabledในอุปกรณ์ก่อนเวอร์ชัน L - เพิ่มกลไกการกู้คืนโฟกัสใน
RecyclerViewแล้ว ค่ากำหนดการสนับสนุนที่แก้ไขแล้วนี้ โฟกัสไม่สมบูรณ์เมื่อใช้การนำทาง DPAD เช่น ใน Android TV อุปกรณ์ - Leanback: BrowseFragment ขัดข้องเมื่อปิดใช้ส่วนหัวและไม่มีอะแดปเตอร์
- ความเข้ากันได้ของแอป:
AlertDialogกว้างเกินไป - โทร
InputContentInfoCompatครั้งrequestPermission()เมื่อใดที่ควรเรียกreleasePermission() - ขัดข้อง
MediaBrowserCompatรายการ - CoordinatorLayout จะวัด/จัดวางมุมมองเมื่อตั้งค่าการมองเห็นเป็น
GONE - แต้มสี
AnimatedVectorDrawableCompatในระดับ API ไม่ได้ ต่ำกว่า 24 - ไลบรารี Leanback ทำให้เกิดข้อผิดพลาดที่ไม่เป็นจริงของ Lint
- ไลบรารีชุดสีทำให้การทดสอบล้มเหลวในทุกระดับ API
- การทดสอบที่ล้มเหลว
RecyclerViewรายการบน Leanback RecyclerViewขัดข้องเมื่อรีไซเคิล ผู้ถือการดู (ปัญหา AOSP 225762)Fragment.onDestroy()ไม่ได้เรียกใช้ Fragment ใน BackstackCollapsingToolbarLayoutScrim คือ ไม่ได้วาดเมื่อยุบCoordinatorLayout.offsetChildByInset()ขว้าง วันที่IllegalArgumentException- กำลังถอด
RecyclerViewรายการเคลื่อนไหวRecyclerViewภายใน ป้องกันอนาคต การดึงข้อมูลล่วงหน้า - แนบ
RecyclerViewรายการไม่ได้ การดึงข้อมูลล่วงหน้าที่ฝังไว้ - ดึงข้อมูลล่วงหน้าสำหรับ
RecyclerViewที่ฝัง รายการจะถูกทิ้งไประหว่างเลย์เอาต์แรก - การดึงข้อมูล
RecyclerViewล่วงหน้าไม่สำเร็จหากมีการลาก 2 รายการ เหตุการณ์ต่างๆ มาถึงตำแหน่งเดียวกัน RecyclerViewควรคาดการณ์ เลย์เอาต์ในขณะที่ RenderThread กำลังแสดงผล- ทรัพยากรสีที่กำหนดค่าตอนกลางคืนซึ่งแปลงเป็น "ถอนออกได้" ไม่เสมอไป ถูกล้างออกจากแคชทรัพยากรอย่างเหมาะสม
FloatingActionButton: การตั้งค่า BackgroundTintList แบบเป็นโปรแกรมทำงานไม่ถูกต้อง (AOSP ฉบับ 227428)TextInputLayout: แบบตัวพิมพ์ไม่ใช่ กำลังตั้งค่าสำหรับ ErrorView (ปัญหา AOSP 227803)TextInputLayoutจะถอยกลับเสมอ เป็นสีข้อผิดพลาดสีอ่อนต่ำกว่า API 23 (ปัญหาเกี่ยวกับ AOSP 221992)FloatingActionButtonแสดงเป็น กดเมื่อตัวชี้ออกจากบ้าน
ดูรายการการแก้ไขข้อบกพร่องทั้งหมดแบบสาธารณะได้ใน เครื่องมือติดตามปัญหา AOSP
การเลิกใช้งาน
ในรุ่นนี้มีการเลิกใช้งานเมธอดและคลาสหลายรายการ เหล่านี้ API ที่เลิกใช้งานแล้วจะถูกนำออกในเวอร์ชันในอนาคต และนักพัฒนาซอฟต์แวร์ควร ย้ายข้อมูลออก สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีย้ายข้อมูลออกจาก API ที่เฉพาะเจาะจง โปรดดูเอกสารประกอบของ API ดังกล่าว
-
android.support.design.widget -
android.support.v17.leanback.appBackgroundManager.getDefaultDimLayer()BackgroundManager.getDimLayer()BackgroundManager.setDimLayer()MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.getFragment()PlaybackControlGlue.getOnItemViewClickedListener()PlaybackControlGlue.onRowChanged()PlaybackControlGlue.pausePlayback()PlaybackControlGlue.skipToNext()PlaybackControlGlue.skipToPrevious()PlaybackControlGlue.startPlayback()PlaybackControlSupportGluePlaybackOverlayFragmentPlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget -
android.support.v4.appFragmentActivity.getSupportMediaController()FragmentActivity.setSupportMediaController()
การแก้ไข 25.0.1
(พฤศจิกายน 2016)
ปัญหาที่แก้ไขแล้ว
- เปิด/ปิดรหัสผ่าน
TextInputLayoutจะปิดใช้โดยค่าเริ่มต้นเพื่อหลีกเลี่ยงการเขียนทับโดยไม่จำเป็น เนื้อหาที่ถอนออกได้ที่นักพัฒนาแอประบุไว้ ซึ่งคุณสามารถเปิดใช้ด้วยตนเองผ่าน แอตทริบิวต์ XMLpasswordToggleEnabled - ขณะนี้
BottomNavigationViewรายการ บรรทัดเดียวให้ตรงกับข้อมูลจำเพาะของ Material RecyclerViewจะขัดข้องระหว่างการดึงข้อมูลล่วงหน้าหาก Layout Manager เป็นค่าว่าง- ระดับความสูง
BottomNavigationViewคือ ตั้งค่าได้อย่างถูกต้อง (ปัญหา AOSP 226182) BottomNavigationViewขัดข้องเมื่อ การเพิ่มรายการในเมนูแบบเป็นโปรแกรม (ปัญหา AOSP 225731)- แก้ไขเป็น
TextInputLayoutซ้าย+ขวา องค์ประกอบที่ถอนออกได้ (ปัญหา AOSP 225836) RecyclerViewขัดข้องเมื่อรีไซเคิล ตัวยึดตำแหน่งวิดีโอ (ปัญหา AOSP 225762)- Leanback: TalkBack มักพูดว่า "null" ในมุมมองแบบแยกหน้าจอ
RecyclerView: ปัญหาในการแสดงภาพใน Android Studio (ปัญหา AOSP 225753)- ยังคงแสดงอีก
BottomNavigationViewรายการ รายการในเมนูตามที่เลือกไว้หลังจากonNavigationItemSelected()แสดงผลเป็น "เท็จ" (ปัญหา AOSP 225898) - ForwardListener ส่ง
NoSuchMethodError(AOSP) ฉบับ 225647) TextInputEditTextไม่แสดง คำแนะนำในโหมดแยก IME (ปัญหา AOSP 221880)
ดูรายการการแก้ไขข้อบกพร่องทั้งหมดแบบสาธารณะได้ใน เครื่องมือติดตามปัญหา AOSP
การแก้ไข 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ชั้นเรียน จะใช้วิธี ด้านล่าง Navigation จากข้อมูลจำเพาะของดีไซน์ Material - แพ็กเกจ
android.support.v13.view.inputmethodใหม่มีชั้นเรียนด้วย สำหรับการเข้าถึงฟีเจอร์android.view.inputmethod.InputConnectionที่เปิดตัวหลังจาก API ระดับ 13 -
android.v7.widget.RecyclerView.DividerItemDecorationชั้นเรียน จัดเตรียมการติดตั้งใช้งานฐานสำหรับตัวแบ่งแนวตั้งหรือแนวนอนระหว่าง รายการ - สไตล์ตกแต่งใหม่ใน
android.support.v7.app.NotificationCompatDecoratedCustomViewStyleและDecoratedMediaCustomViewStyleเพิ่มคลาสมิเรอร์ใน 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
- การอัปเดต API
- การเปลี่ยนแปลงลักษณะการทำงาน
- การเลิกใช้งาน
- แก้ไขข้อบกพร่อง
หมายเหตุ: รุ่น 24.2.0 ยกเลิกการสนับสนุนสำหรับ Android 2.2 (API ระดับ 8) และต่ำกว่า คลาสและเมธอดซึ่งมีอยู่เฉพาะกับ แสดงเวอร์ชันของระบบเหล่านั้น ตอนนี้มีเครื่องหมายว่าเลิกใช้งานแล้วและไม่ควรอีกต่อไป ระบบอาจนำคลาสและวิธีการที่เลิกใช้งานเหล่านี้ออกในอนาคต
การแยกส่วนไลบรารีการสนับสนุนเวอร์ชัน 4
ในรุ่นนี้ ไลบรารีการสนับสนุนเวอร์ชัน 4 ได้ จะแบ่งออกเป็นโมดูลย่อยๆ หลายโมดูล ได้แก่
-
support-compat -
มี Wrapper ความเข้ากันได้สำหรับ API ของเฟรมเวิร์กใหม่ เช่น
Context.getDrawable()และView.performAccessibilityAction() -
support-core-utils -
มีคลาสยูทิลิตีมากมาย เช่น
AsyncTaskLoaderและPermissionChecker -
support-core-ui -
ใช้คอมโพเนนต์ต่างๆ ที่เกี่ยวข้องกับ UI เช่น
ViewPager,NestedScrollViewและExploreByTouchHelper -
support-media-compat -
พอร์ตที่ส่วนสนับสนุนของเฟรมเวิร์กสื่อ
รวมถึง
MediaBrowserและMediaSession -
support-fragment -
พอร์ตส่วนย่อยกลับคืนมา
โมดูลนี้มีการขึ้นต่อกันใน
support-compatsupport-core-utils,support-core-uiและsupport-media-compat
สำหรับความเข้ากันได้แบบย้อนหลัง หากคุณระบุ support-v4 ใน
สคริปต์ Gradle, APK ของคุณจะรวมโมดูลเหล่านี้ทั้งหมด แต่หากต้องการลด
ขนาดของ APK ขอแนะนำให้ระบุโมดูลเฉพาะที่แอปต้องการ
การอัปเดต API
- ไคลเอ็นต์ที่ใช้แท็บที่กำหนดเองจะทำสิ่งต่อไปนี้ได้
ควบคุมว่าจะเปิด Instant Apps หรือไม่ (โปรดทราบว่า Instant Apps ยังไม่ใช่
เวอร์ชันสำหรับผู้ใช้ทั่วไป) หากต้องการเปิดหรือปิดใช้ Instant Apps โปรดโทร
CustomTabsIntent.Builder.setInstantAppsEnabled()หรือ ระบุEXTRA_ENABLE_INSTANT_APPSโดยค่าเริ่มต้น แท็บที่กำหนดเองจะ เปิดใช้ Instant Apps เมื่อฟีเจอร์ดังกล่าวพร้อมใช้งาน TextInputLayoutเพิ่มการสนับสนุนสำหรับ เปิด/ปิดระดับการเข้าถึงรหัสผ่านจากข้อกำหนดของดีไซน์ Materialandroid.support.transitionใหม่ สร้างแพ็กเกจสำรองจากเฟรมเวิร์กการเปลี่ยนเป็น API ระดับ 14 และสูงกว่า ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิงandroid.support.transition- ไลบรารีการสนับสนุนแท็บที่กําหนดเอง
เพิ่มการสนับสนุนสำหรับการใช้
RemoteViewsใน แถบเครื่องมือsetToolbarItem()ที่มีอยู่ เลิกใช้งานไปแล้ว AppCompatResourcesเพิ่ม ความสามารถในการโหลด<vector>(ใน API ระดับ 9 ขึ้นไป) หรือ<animated-vector>(ใน API ระดับ 11 ขึ้นไป) จาก รหัสทรัพยากร โดยใช้เมธอดgetDrawable()ใหม่CoordinatorLayoutรองรับแล้ว การกำหนดมุมมองประกอบ และระบุว่ามุมมองอื่นๆ ควรหลบเลี่ยงการแทรก ครั้ง วิธีนี้ช่วยให้แอปจำลองรูปแบบลักษณะการทำงานที่คล้ายกับวิธีFloatingActionButtonย้ายออกจาก ของSnackbarแต่สำหรับ มุมมองที่กำหนดเองของเด็กๆ สำหรับข้อมูลเพิ่มเติม โปรดดูLayoutParams.insetEdgeและ เอกสารอ้างอิงLayoutParams.dodgeInsetEdges- คลาส
DiffUtilใหม่จะสามารถคำนวณส่วนต่างระหว่าง และสามารถส่งรายการการดำเนินการอัปเดตที่เหมาะสม ให้RecyclerView.Adapterใช้งาน -
เพิ่ม
RecyclerView.OnFlingListenerเพื่อรองรับแบบกำหนดเองแล้ว เพื่อตอบสนองการสะบัดSnapHelperจะมีการติดตั้งใช้งานเฉพาะสำหรับการแสดงมุมมองเด็ก และLinearSnapHelperขยายการติดตั้งใช้งานนี้เพื่อให้การสแนปที่จัดวางไว้ตรงกลาง พฤติกรรมที่คล้ายกับViewPager - ขณะนี้ไลบรารีแท็บที่กำหนดเองทำให้ลูกค้าขอมาตรฐาน
UI ของเบราว์เซอร์ แทน UI แท็บที่กำหนดเอง โดยเรียกใช้
CustomTabsIntent.setAlwaysUseBrowserUI()ลักษณะการทำงานนี้ มีประโยชน์ในกรณีที่เบราว์เซอร์กำหนดค่าเริ่มต้นเป็น UI แท็บที่กำหนดเอง แต่ผู้ใช้ ได้แสดงการตั้งค่าสำหรับ UI ของเบราว์เซอร์มาตรฐาน
การเปลี่ยนแปลงลักษณะการทำงาน
- หากคุณใช้ฟังก์ชันกลางวัน/กลางคืนของไลบรารีแอปที่ใช้ร่วมกัน ระบบจะ
ต่อจากนี้ไปจะสร้างกิจกรรมของคุณอีกครั้งโดยอัตโนมัติ
เมื่อโหมดกลางวัน/กลางคืนมีการเปลี่ยนแปลง
(ทั้งเพราะช่วงเวลาของวันหรือเนื่องจากการโทรหา
AppCompatDelegate.setLocalNightMode()) - ตอนนี้
Snackbarตามหลัง แถบนำทาง หากแถบสถานะโปร่งแสง
ไลบรารี MediaRouter
อุปกรณ์บลูทูธไม่ได้แสดงเป็นเส้นทางสื่ออีกต่อไป กำลังกำหนดเส้นทางเสียงไปยัง ในตอนนี้ อุปกรณ์บลูทูธจะควบคุมได้ในระดับระบบ Android เท่านั้น
การเลิกใช้งาน
คลาสและวิธีการที่เลิกใช้งานแล้วอาจถูกนำออกในรุ่นต่อๆ ไป คุณควรย้ายข้อมูลออกจาก API เหล่านี้โดยเร็วที่สุด
- มีเมธอดมากมายในคลาสต่อไปนี้ที่จำเป็นสำหรับ API 8 และ
และไม่ควรใช้อีกต่อไป แต่ให้ใช้เฟรมเวิร์ก
การนำไปใช้งานจริง
android.support.v4.view.KeyEventCompat: แทนที่ด้วยKeyEventandroid.support.v4.view.MotionEventCompat: ใช้MotionEventandroid.support.v4.view.ViewCompat: ใช้Viewandroid.support.v4.view.ViewConfigurationCompat: ใช้ViewConfiguration
-
AccessibilityServiceInfoCompat.getDescription()เพื่อรับการสนับสนุนAccessibilityServiceInfoCompat.loadDescription(), ซึ่งจะแสดงคำอธิบายที่แปลอย่างถูกต้อง - คุณไม่ควรสร้างอินสแตนซ์
ActivityCompatโดยตรง เมธอดgetReferrer(Activity)ที่ไม่คงที่จะเป็น แบบคงที่ในรุ่นที่กำลังจะเปิดตัว - เราเลิกใช้งาน
CoordinatorLayout.Behavior.isDirty()แล้ว สายจากCoordinatorLayoutช่วง การใช้งาน ตลอดจนการเรียกวิธีการนี้จะถูกลบออก MediaSessionCompat.obtain()เลิกใช้งานแล้วและแทนที่แล้ว โดยใช้เมธอดที่มีชื่อที่เหมาะสมมากกว่าfromMediaSession()MediaSessionCompat.QueueItem.obtain()เลิกใช้งานแล้วและแทนที่ด้วย เมธอดที่มีชื่อเหมาะสมมากfromQueueItem()- คลาส Abstract หลายคลาสเลิกใช้งานแล้วและแทนที่ด้วย
ที่แสดงความเทียบเท่ากันของเฟรมเวิร์กมากขึ้น
AccessibilityStateChangeListenerCompatถูกแทนที่โดยAccessibilityManagerCompat.AccessibilityStateChangeListenerของ GoogleOnCloseListenerCompatมี ถูกแทนที่ด้วยอินเทอร์เฟซSearchViewCompat.OnCloseListenerOnQueryTextListenerCompatถูกแทนที่ด้วยSearchViewCompat.OnQueryTextListenerของ Google
CustomTabsSession.setToolbarItem()เลิกใช้งานแล้วและแทนที่ด้วย แบบ RemoteViewsetSecondaryToolbarViews()
การแก้ไขข้อบกพร่อง
ปัญหาที่ทราบต่อไปนี้ได้รับการแก้ไขแล้วในรุ่น 24.2.0
- ตรวจสอบว่าสัญญาณบอกสถานะ
SwipeRefreshLayoutแสดงอยู่เมื่อ ระบบจะเรียกใช้setRefreshing(true)ก่อนที่จะส่งการวัดครั้งแรก (AOSP) ฉบับ 77712) - ป้องกันไม่ให้
TabLayoutกะพริบเมื่อเปลี่ยนหน้า (AOSP) ฉบับ 180454) - หลีกเลี่ยง
ClassNotFoundExceptionเมื่อยกเลิกการทำเครื่องหมายSavedStateในระดับ API 11 หรือต่ำกว่า (ปัญหาเกี่ยวกับ AOSP 196430)
ดูรายการการแก้ไขข้อบกพร่องทั้งหมดแบบสาธารณะได้ใน เครื่องมือติดตามปัญหา AOSP
การแก้ไข 24.1.1
กรกฎาคม 2016
ปัญหาที่แก้ไขแล้ว
- แก้ไขปัญหาในรุ่น 24.1.0 ซึ่งส่งผลต่อรหัสทรัพยากร แชร์ระหว่างไลบรารีการสนับสนุน ปัญหานี้ทำให้แอปที่ต้องใช้ สนับสนุนไลบรารีพร้อมด้วยทรัพยากร (เช่น การออกแบบและ Appcompat) สำหรับ พบปัญหาที่เกิดจากรหัสทรัพยากรไม่ตรงกัน
การแก้ไข 24.1.0
กรกฎาคม 2016
- การเปลี่ยนแปลงสำหรับการสนับสนุน v4 คลัง:
-
NotificationCompat.Action.WearableExtenderมีgetHintDisplayActionInline()ใหม่และsetHintDisplayActionInline()วิธีสำหรับความเข้ากันได้กับ ตัวอย่าง Android Wear 2.0 วิธีการเหล่านี้ช่วยให้แอปพลิเคชันระบุได้ว่าควรดำเนินการใด ปรากฏแทรกในบรรทัดพร้อมกับการแจ้งเตือน- การเรียกใช้
Fragment.setUserVisbileHint()จะไม่ทำให้ Fragment กลายเป็น started หากเพิ่มคำแนะนำไปยังFragmentTransactionที่ยังไม่ได้คอมมิต ช่วงเวลานี้ ส่งผลต่อผู้ใช้FragmentPagerAdapterที่ ลบล้างsetUserVisbileHint()และคาดเดาสถานะวงจรที่เจาะจงของส่วนย่อย หลังจากโทรหาsuper.setUserVisibleHint()สำหรับข้อมูลเพิ่มเติม ดูหน้าอ้างอิงสำหรับเอกสารสำหรับFragment.setUserVisbileHint()
ปัญหาที่แก้ไขแล้ว
- ผลลัพธ์ TabLayout.setCustomView(null) ใน NullPointerException (AOSP) ฉบับ 214753)
- TabLayout ไฮไลต์แท็บที่กำหนดเองไม่ถูกต้อง (AOSP ปัญหา 214316)
- AppCompatTextHelper ใช้อาร์เรย์แอตทริบิวต์ที่จัดเรียงไม่ถูกต้อง (ปัญหา AOSP 214366)
- ไม่สามารถอ้างอิง VectorDrawable จาก XML ของคอนเทนเนอร์ที่ถอนออกได้เมื่อใช้ ContextWrapper ที่กำหนดเอง (ปัญหา AOSP 214055)
- ViewDragHelper.saveLastMotion() จะส่ง ArrayIndexOutOfBoundsException (AOSP) ฉบับ 212945)
- BottomSheetBehavior จะขยายเป็นความสูงของเนื้อหาเดิมเมื่อใช้ setState(STATE_EXPANDED) (ปัญหาเกี่ยวกับ AOSP 213660)
- CollapsingToolbarLayout อาจไม่รองรับไฟล์ย่อยที่ปักหมุดได้ที่ด้านบนของหรือ ขอบล่าง (ปัญหา AOSP 213,001)
- ชื่อการเรียกดู 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
- การเปลี่ยนแปลงสำหรับการสนับสนุน v4 คลัง:
-
- เพิ่มเมื่อ
Fragment.commitNow()สำหรับคอมมิตแบบพร้อมกัน - เพิ่มเมื่อ
NotificationCompat.MessagingStyleสำหรับการสนทนากับผู้ใช้หลายคน - เพิ่มเมื่อ
NotificationManagerCompat.areNotificationsEnabled()และgetImportance() MediaSessionCompatขณะนี้จะมิเรอร์ฟังก์ชันของMediaSessionและจะไม่เรียกใช้setMediaButtonReceiver()โดยอัตโนมัติอีกต่อไป
หมายเหตุ: เฉพาะ
MediaBrowserServiceCompatในเวอร์ชัน 24.0.0 เท่านั้น สามารถพัฒนาร่วมกับ Android เวอร์ชันต่อๆ ไปจาก API 24 ได้ หากคุณใช้เวอร์ชันก่อนหน้า ให้อัปเดตเป็นเวอร์ชันนี้เป็น เพื่อความเข้ากันได้ - เพิ่มเมื่อ
- การเปลี่ยนแปลงสำหรับ v7 ไลบรารี appcompat
-
- เพิ่มการรองรับการอ้างอิงออบเจ็กต์
ColorStateListที่มีธีมจาก XML
- เพิ่มการรองรับการอ้างอิงออบเจ็กต์
- การเปลี่ยนแปลงของการสนับสนุนการออกแบบ คลัง:
-
- การปรับปรุง
AppBarLayoutการจัดการระดับความสูงโดยใช้StateListAnimator
- การปรับปรุง
- การเปลี่ยนแปลงสำหรับไลบรารี Leanback เวอร์ชัน 17 มีดังนี้
-
- เพิ่ม
OnboardingFragmentเพื่อต้อนรับการเรียกใช้ครั้งแรกแล้ว ขั้นตอนการตั้งค่า
- เพิ่ม
- การเปลี่ยนแปลงสำหรับแท็บที่กำหนดเองมีดังนี้
-
- เพิ่มการสนับสนุนสำหรับการมอบ
RemoteViewsลำดับชั้นสำหรับแถบเครื่องมือรอง - เพิ่มเมื่อ
CustomTabsClient.connectAndInitialize()สำหรับการอุ่นเครื่องใน 1 บรรทัด
- เพิ่มการสนับสนุนสำหรับการมอบ
การแก้ไข 23.4.0
พฤษภาคม 2016
- การเปลี่ยนแปลงสำหรับการสนับสนุน v4 คลัง:
-
- แก้ปัญหาที่มีการเพิ่มส่วนย่อยในลำดับที่ไม่ถูกต้อง (ฉบับ 206901)
- แก้ปัญหาที่วาดแถบแอปไม่ได้หลังจากที่เลื่อน นอกหน้าจอ (ฉบับ 178037)
- การเปลี่ยนแปลงสำหรับ v7 ไลบรารี appcompat
-
- เพิ่มเมื่อ
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) - แก้ไขปัญหาใน
AppBarLayoutแล้ว ฟังก์ชันสแนปเมื่อใช้กับค่าสถานะการเลื่อน (ฉบับ 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()ไปยังผู้เผยแพร่โฆษณาย่อยแล้ว ส่วนย่อย
- เพิ่ม
- การเปลี่ยนแปลงสำหรับ v7 ไลบรารี appcompat
-
- แก้ไขปัญหาใน
AppCompatSpinnerที่อาจทำให้ ป๊อปอัปหลายรายการจะปรากฏขึ้น (ฉบับ 205052) - แก้ไขปัญหาเกี่ยวกับการติดสีปุ่มที่ไม่มีเส้นขอบ (ฉบับ 202967)
- แก้ไขปัญหาความเข้ากันได้ระหว่าง
AppCompatDialogFragmentถึงAlertDialog(ฉบับ 204805) - เปลี่ยนกลับการเปลี่ยนแปลงเป็น
TintResourcesที่เป็นสาเหตุให้เกิด หน่วยความจำและการกำหนดค่า (ฉบับ 205236)
- แก้ไขปัญหาใน
- การเปลี่ยนแปลงสำหรับ v7 mediaRouter Library คือ
-
- ราคาคงที่
MediaRouteControllerDialogลักษณะการทำงานของแถบเลื่อนระดับเสียง (ฉบับ 202299)
- ราคาคงที่
- การเปลี่ยนแปลงค่ากำหนด v7 คลัง:
-
- แก้ปัญหาที่
PreferenceFragmentCompatจะขัดข้อง หากระบุdividerHeightแล้ว (ฉบับ 204778)
- แก้ปัญหาที่
- การเปลี่ยนแปลงสำหรับ v7 ไลบรารี recyclerview
-
- แก้ไขข้อบกพร่องที่
RecyclerViewไม่เรียกใช้การเลื่อน Callback หากช่วงรายการที่มองเห็นได้หดลง (ฉบับ 200987) - แก้ไขข้อบกพร่องที่
RecyclerViewจะค้างหากอยู่ใน การจัดวางแบบเชิงเส้น มีการถ่วงน้ำหนัก และมีรูปภาพ (ฉบับ 203276) - แก้ไขข้อขัดข้องใน
OrientationHelper.getStartAfterPadding()แล้ว (ฉบับ 180521) - แก้ไขข้อขัดข้องโดยใช้
android:nestedScrollingEnabled(ฉบับ 197932)
- แก้ไขข้อบกพร่องที่
- การเปลี่ยนแปลงของการสนับสนุนการออกแบบ คลัง:
-
- แก้ไขข้อบกพร่องที่ Bottom Sheet ซ่อนอยู่จะจัดการการแตะ กิจกรรม (ฉบับ 203654)
- แก้ไขปัญหาเลย์เอาต์ที่เกิดขึ้นกับ
BottomSheetBehaviorเมื่อfitsSystemWindowsเป็นความจริง (ฉบับ 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)
- แก้ไขข้อยกเว้นใน
- การเปลี่ยนแปลงสำหรับ v7 ไลบรารี appcompat
-
- เปลี่ยนกลับการขึ้นต่อกันของเนื้อหาเวกเตอร์เพื่อให้นักพัฒนาซอฟต์แวร์ที่ใช้องค์ประกอบ
appcompat
ไลบรารีไม่ได้บังคับให้ใช้
VectorDrawableและ Flag บิลด์ที่เกี่ยวข้อง - แก้ไขปัญหาความเข้ากันได้กับโหมดกลางคืนและ API ระดับ 23 (ฉบับ 201910)
- แก้ไขปัญหาความเข้ากันได้กับ
SwitchCompatและ API ระดับ 7 (ฉบับ 201942) - แก้ไขปัญหาการเผยแพร่ค่าการกำหนดค่าในออบเจ็กต์ทรัพยากร ปัญหา 201928
- แก้ไขปัญหาความเข้ากันได้ที่
android.support.v7.app.NotificationCompat.MediaStyleมองไม่เห็นปุ่มยกเลิกในระดับ API 21 และต่ำกว่า (ปัญหา 202156) - แก้ไขข้อขัดข้องในความเข้ากันได้กับ
AppCompatSpinnerใน API ระดับ 21 หรือต่ำกว่า (ปัญหา 202246) - แก้ไขปัญหาที่รูปแบบ
app:textAllCaps = "false"ไม่ งาน (ปัญหา 202117) - แก้ไขข้อขัดข้องเมื่อคืนค่า
SearchView(ฉบับ 201836) - แก้ไขการรั่วไหลของหน่วยความจำที่เกิดขึ้นเมื่อปรับแต่งทรัพยากรที่ถอนออกได้โดยใช้ AppCompat (ปัญหา 202379)
- แก้ไขปัญหาเกี่ยวกับ
KeyEventใน API ระดับ 11 และ ด้านล่าง (ปัญหา 202939)
- เปลี่ยนกลับการขึ้นต่อกันของเนื้อหาเวกเตอร์เพื่อให้นักพัฒนาซอฟต์แวร์ที่ใช้องค์ประกอบ
appcompat
ไลบรารีไม่ได้บังคับให้ใช้
- การเปลี่ยนแปลงสำหรับ v7 Cardview ไลบรารีต่อไปนี้
-
- เพิ่มการรองรับโหมดกลางคืนสำหรับ
CardView(ฉบับ 194497)
- เพิ่มการรองรับโหมดกลางคืนสำหรับ
- การเปลี่ยนแปลงสำหรับ v7 ไลบรารี recyclerview
-
- แก้ไขข้อบกพร่องที่เกี่ยวข้องกับวิธีการวัดข้อมูลจำเพาะแบบต่างๆ (ฉบับ 201856)
- ลดระยะเวลาปิดล็อกซึ่ง
RecyclerViewไม่อนุญาตให้ใช้อะแดปเตอร์ เปลี่ยนแปลงขณะคำนวณเลย์เอาต์หรือการเลื่อน (ฉบับ 202046) - แก้ไขข้อขัดข้องเมื่อโทรหา
notifyItemChanged()บนรายการที่ไม่แสดงผล (ฉบับ 202136) - แก้ไขข้อขัดข้องที่เกิดขึ้นเมื่อ
RecyclerView.LayoutManagerเพิ่มและนำมุมมองออก การวัดผลเท่านั้น (ฉบับ 193958)
- การเปลี่ยนแปลงสำหรับ v7 mediaRouter Library คือ
-
- แก้ไขข้อขัดข้องที่เกิดขึ้นเมื่อเรียกใช้
MediaRouter.getInstance()ใน API ระดับ 17 (ฉบับ 180654)
- แก้ไขข้อขัดข้องที่เกิดขึ้นเมื่อเรียกใช้
- การเปลี่ยนแปลงสำหรับ v17 ไลบรารี 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
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4 มีดังนี้
-
- เพิ่ม
MediaBrowserCompatสำหรับการสนับสนุนMediaBrowserและMediaBrowserServiceCompatสำหรับการสนับสนุนMediaBrowserServiceมีประโยชน์ เมื่อเชื่อมต่อบริการในเบื้องหลังของแอปสื่อกับคอมโพเนนต์ UI และสามารถผสานรวมกับ Android Auto และ Android Wear ได้โดยไม่ต้อง API ระดับ 21 ขึ้นไป - ขณะนี้ระบบเรียกใช้
onActivityResult()สำหรับFragmentActivityที่ฝังไว้
- เพิ่ม
- การเปลี่ยนแปลงของ v7 AppCompat ไลบรารีต่อไปนี้
-
- เพิ่มฟังก์ชันโหมดกลางคืนใน API ระดับ 14 ขึ้นไป เปลี่ยน ระหว่างวัสดุ ธีมสว่างและธีมสีเข้มตามช่วงเวลาของวันหรือ การตั้งค่าเฉพาะแอป
-
- ดูธีมกลางวันและกลางคืนได้ที่นี่:
<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml AppCompatDelegate.setDefaultNightMode(): ตั้งค่า โหมดเริ่มต้นของแอปโดยการส่งค่าคงที่ต่อไปนี้-
MODE_NIGHT_AUTOMODE_NIGHT_NOMODE_NIGHT_YESMODE_NIGHT_FOLLOW_SYSTEM
AppCompatDelegate.setLocalNightMode(): ลบล้าง การตั้งค่าโหมดกลางคืนสำหรับคอมโพเนนต์แอปในเครื่องAppCompatDelegate.getDefaultNightMode(): การคืนสินค้า โหมดกลางคืนเริ่มต้น
- ดูธีมกลางวันและกลางคืนได้ที่นี่:
- การเปลี่ยนแปลงสำหรับ mediaRouter v7 ไลบรารีต่อไปนี้
-
- ขณะนี้อยู่ที่
MediaRouteControllerDialogใส่สีธีมของแอปที่กำหนดเองอย่างถูกต้อง
- ขณะนี้อยู่ที่
- การเปลี่ยนแปลงในไลบรารีการสนับสนุนการออกแบบมีดังนี้
-
- เพิ่มการสนับสนุนสำหรับ ด้านล่าง
ชีต ปลั๊กอินการโต้ตอบ
BottomSheetBehaviorช่วยให้มุมมองย่อยของCoordinatorLayoutทำหน้าที่เป็น Bottom Sheet คลาสฐานBottomSheetCallbackมี Callback เพื่อตรวจสอบเหตุการณ์ Bottom Sheet
- เพิ่มการสนับสนุนสำหรับ ด้านล่าง
ชีต ปลั๊กอินการโต้ตอบ
- การเปลี่ยนแปลงสำหรับการสนับสนุน CustomTabs ไลบรารีต่อไปนี้
-
- Chrome ตอนนี้แท็บที่กำหนดเองอนุญาตให้แอปมีแถบด้านล่างพร้อมการดำเนินการ นอกเหนือจากปุ่มการทำงานด้านบนที่มีอยู่
CustomTabsIntent.Builder.addToolBarItem(): เพิ่มการดำเนินการ ไปยังแท็บที่กำหนดเอง ซึ่งคุณสามารถใช้ปุ่มนี้เพื่อเพิ่มปุ่มหลายปุ่มได้CustomTabsSession.setToolBarItem(): อัปเดตภาพ สำหรับรายการแถบเครื่องมือ วิธีนี้จะสำเร็จก็ต่อเมื่อมีการระบุ รหัสที่ถูกต้องและเซสชันของเบราว์เซอร์อยู่เบื้องหน้า
- เพิ่มไลบรารีการสนับสนุน VectorDrawable แล้ว:
-
- ชั้นเรียนที่เพิ่ม:
-
VectorDrawableCompatAnimatedVectorDrawableCompat
- เพิ่มการรองรับเนื้อหา
VectorDrawableรายการในแอป ที่ทำงานใน API ระดับ 7 ขึ้นไป ชิ้นงานAnimatedVectorDrawableรายการ ก็ได้รับการรองรับใน API ระดับ 11 ขึ้นไปเช่นกัน องค์ประกอบเวกเตอร์อาจเป็น เล็กกว่าชิ้นงานรูปภาพอย่างมากและควรช่วยลดแอป ปรับขนาดได้ด้วยการลดจำนวนเนื้อหาที่จำเป็นสำหรับการรองรับ หน้าจออุปกรณ์ - ตอนนี้ไลบรารีนี้ได้เป็นทรัพยากร Dependency ของไลบรารี AppCompat v7 แล้ว
นักพัฒนาแอปและ AppCompat
ใช้เวกเตอร์ที่ถอนออกได้ หากต้องการใช้
VectorDrawableCompatภายในImageButtonหรือImageViewโปรดใช้app:srcCompatXML หรือsetImageResource() - หากต้องการอ้างอิงรหัสแอตทริบิวต์ใน API ระดับ 20 หรือ
ให้ต่ำลง ให้เพิ่ม Flag
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 หรือ
ที่ด้านล่าง ให้เพิ่มค่าต่อไปนี้ลงในไฟล์
- การเปลี่ยนแปลงสำหรับ v17 Leanback คลัง:
-
- เพิ่มความสามารถใหม่ให้กับ
GuidedStepFragmentซึ่งเป็นองค์ประกอบหนึ่งที่นำผู้ใช้เข้าสู่การตัดสินใจหรือชุดการตัดสินใจ -
- เพิ่มการทำงานของปุ่มใน
GuidedActionแล้ว: GuidedStepFragment.setButtonActions(): กำหนดรายการGuidedActionปุ่มที่ ผู้ใช้อาจเลือกจากมุมมองการดำเนินการ- คุณแก้ไขช่องคำอธิบายได้แล้ว
-
GuidedAction.Builder.descriptionEditable(): เมื่อผ่านtrueกำหนดให้แก้ไขคำอธิบายการดำเนินการได้GuidedAction.getEditDescription(): แสดงผล URL ที่แก้ไขได้ คำอธิบายเป็นCharSequence
- เพิ่มรายการแบบเลื่อนลงของการกระทำย่อยดังนี้
-
GuidedAction.setSubActions(): ตั้งค่ารายการGuidedActionเป็นเมนูแบบเลื่อนลง ของการดำเนินการย่อย
- เพิ่มการทำงานของปุ่มใน
- เพิ่มวิดเจ็ต
GuidedDatePickerActionสำหรับฟังก์ชันการทำงานของDatePicker: -
- เลือกวันที่โดยใช้คอลัมน์ปี เดือน และวัน และมีแอตทริบิวต์ ช่วงที่ปรับแต่งได้
GuidedDatePickerAction.Builder: คลาสเครื่องมือสร้างสำหรับออบเจ็กต์GuidedDatePickerActionGuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): ตั้งค่ารูปแบบวันที่ที่ต้องการโดยการส่งStringที่มีอักขระ 3 ตัวที่เหมาะสม เช่น“YMD”หรือ“MDY”หรือจะใช้แอตทริบิวต์ XMLdatePickerFormatก็ได้
- เพิ่มความสามารถใหม่ให้กับ
- การเปลี่ยนแปลงสำหรับ v7 RecyclerView ไลบรารีต่อไปนี้
-
- ตอนนี้
RecyclerViewมีตัวเลือกให้เลือกรับแล้ว ฟีเจอร์ชื่อ AutoMeasure ซึ่งช่วยให้RecyclerView.LayoutManagerรวมได้อย่างง่ายดาย เนื้อหาหรือจัดการข้อกำหนดการวัดต่างๆ ที่กำหนดโดย ผู้ปกครองของRecyclerViewทั้งนี้ รองรับความสามารถด้านภาพเคลื่อนไหวที่มีอยู่ทั้งหมดของRecyclerView -
- หากคุณมี
RecyclerView.LayoutManagerที่กำหนดเอง โทรหาsetAutoMeasureEnabled(true)เพื่อเริ่มใช้ AutoMeasure API ออบเจ็กต์RecyclerView.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 เวอร์ชัน 17 มีดังนี้
-
- แก้ไขปัญหาภายในจำนวนหนึ่งในไลบรารีนี้แล้ว
- การเปลี่ยนแปลงในไลบรารีการสนับสนุนการออกแบบ
-
- เพิ่มเมธอด
getHeaderViewลงในคลาสNavigationViewแล้ว - แก้ไขปัญหาพื้นหลังโปร่งใสสำหรับออบเจ็กต์
FloatingActionButtonใน อุปกรณ์ที่ใช้ Android 4.0 (API ระดับ 15) และต่ำกว่า (ปัญหา 183315)
- เพิ่มเมธอด
การแก้ไข 23.1.0
ตุลาคม 2015
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4
-
- เพิ่มการรองรับอินเทอร์เฟซของ
OnScrollChangedListenerลงใน วิดเจ็ตNestedScrollViewทั้งนี้ ช่วยให้คุณได้รับ Callback เมื่อตำแหน่งการเลื่อน X หรือ Y เปลี่ยนไป - เพิ่มชั้นเรียน
MediaButtonReceiverเพื่อส่งต่อตัวควบคุมการเล่นที่ได้รับแล้ว ไปยังบริการที่จัดการชั้นเรียนMediaSessionCompatMediaSessionCompatชั้นเรียนมี เครื่องมือสร้างที่สามารถค้นหาตัวรับปุ่มสื่อในไฟล์ Manifest โดยอัตโนมัติ ต ตัวรับปุ่มสื่อเป็นส่วนสำคัญในการจัดการ ตัวควบคุมการเล่นจากการควบคุมฮาร์ดแวร์หรือบลูทูธ
- เพิ่มการรองรับอินเทอร์เฟซของ
- การเปลี่ยนแปลงสําหรับไลบรารี Appcompat v7 มีดังนี้
-
- เพิ่มวิดเจ็ต
SeekbarและImageButtonของดีไซน์ Material - อัปเดตวิดเจ็ต
ImageViewเพื่อรองรับฟีเจอร์การแต้มสี - อัปเดตรูปลักษณ์ของวิดเจ็ต
SwitchCompat
- เพิ่มวิดเจ็ต
- การเปลี่ยนแปลงสำหรับไลบรารี MediaRouter v7 มีดังนี้
-
- เพิ่มฟีเจอร์ต่อไปนี้ในชั้นเรียน
MediaRouteChooserDialogแล้ว - แสดงหน้ากำลังโหลดขณะค้นหาผู้ให้บริการเส้นทางสื่อ
- ใส่ไอคอนประเภทอุปกรณ์เพื่อให้ระบุอุปกรณ์ได้ง่ายขึ้น
- จัดเรียงเส้นทางตามความถี่ในการใช้งานในแอปปัจจุบัน
- รองรับโหมดแนวนอน
- เพิ่มฟีเจอร์ต่อไปนี้ในชั้นเรียน
MediaRouteControllerDialogแล้ว - จดจำการแคสต์หน้าจอและให้คำอธิบายที่เหมาะสม
- รองรับปกอัลบั้มขนาดต่างๆ และสัดส่วนภาพ และโหลดภาพแบบไม่พร้อมกัน
- เลือกสีเนื้อหาโดยอัตโนมัติตามสีหลักของแอป
- ปรับเลย์เอาต์ของกล่องโต้ตอบตามพื้นที่หน้าจอที่มีอยู่ในอุปกรณ์
- รองรับโหมดแนวนอน
- เพิ่มฟีเจอร์ต่อไปนี้ในชั้นเรียน
- การเปลี่ยนแปลงสำหรับไลบรารีจานสี v7:
-
- เพิ่มเมธอด
setRegion()เพื่อรองรับการแยกสีจาก ของออบเจ็กต์Bitmap
- เพิ่มเมธอด
- การเปลี่ยนแปลงสำหรับไลบรารี Recyclerview V7 มีดังนี้
-
- เพิ่ม API ภาพเคลื่อนไหวที่ปรับปรุงแล้วลงในคลาส
ItemAnimatorเพื่อให้ได้ดียิ่งขึ้น การกำหนดค่า: - การเปลี่ยนภาพเคลื่อนไหวจะไม่บังคับใช้สำเนา 2 ชุดของออบเจ็กต์
ViewHolderอีกต่อไป ซึ่งจะเปิดใช้ภาพเคลื่อนไหวของเนื้อหารายการ และออบเจ็กต์ItemAnimatorตัดสินใจว่าจะนำออบเจ็กต์ViewHolderเดิมมาใช้ซ้ำหรือสร้าง อันใหม่นะ - API บันทึกข้อมูลใหม่ช่วยให้คลาส
ItemAnimatorมีความยืดหยุ่น เพื่อเก็บรวบรวมข้อมูล ณ จุดที่ถูกต้องในวงจรของเลย์เอาต์ นี่เป็นข้อมูลในภายหลัง ผ่านไปยัง Callback แบบเคลื่อนไหว
- มีแผนการเปลี่ยนแปลงที่ง่ายดายสำหรับการเปลี่ยนแปลง API ที่เข้ากันไม่ได้แบบย้อนหลังนี้:
- หากก่อนหน้านี้คุณได้ขยายชั้นเรียน
ItemAnimatorคลาสพื้นฐานเป็นSimpleItemAnimatorและโค้ดควรทำงานเหมือนเดิม คลาสSimpleItemAnimatorมี API เก่าโดยการรวม API ใหม่ - นำบางวิธีการออกจากชั้นเรียน
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); }
- เพิ่ม API ภาพเคลื่อนไหวที่ปรับปรุงแล้วลงในคลาส
- การเปลี่ยนแปลงสำหรับ v7 v14 และ ไลบรารีการสนับสนุนค่ากำหนด v17:
-
- นำ API ออกเพื่อควบคุมกล่องโต้ตอบ
EditTextแล้ว
- นำ API ออกเพื่อควบคุมกล่องโต้ตอบ
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน Leanback เวอร์ชัน 17 มีดังนี้
-
- เพิ่มเวอร์ชันของคลาส
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
- การเปลี่ยนแปลงสำหรับ v7 และ ไลบรารีการสนับสนุนค่ากำหนด v14:
-
- เพิ่มเลย์เอาต์ของดีไซน์ Material และไฟล์รูปแบบ (ปัญหา 183376)
- การเปลี่ยนแปลงสําหรับไลบรารี Appcompat v7 มีดังนี้
-
- แก้ปัญหาข้อขัดข้องสำหรับคลาส
Fragmentด้วยการจำกัดการใช้งาน เลเยอร์ฮาร์ดแวร์ไปยัง Android 4.1 (API ระดับ 16) ขึ้นไป (ปัญหา 183896) - แก้ไขปัญหาที่ปุ่มฮาร์ดแวร์ไม่ทำงานเมื่อกิจกรรมตั้งค่า
Toolbarชั้นเรียนสำหรับใช้เป็นActionBarโดยใช้เมธอดsetSupportActionBar()(ปัญหา 183334) - อัปเดตชั้นเรียน
AppCompatDialogFragmentแล้ว ไม่ใช้Windows feature must be requested before adding contentอีกต่อไป (ปัญหา 183186)
- แก้ปัญหาข้อขัดข้องสำหรับคลาส
- การเปลี่ยนแปลงในไลบรารีการสนับสนุนการออกแบบ
-
- แก้ไข
AppBarLayoutคลาส ดังนั้นตอนนี้จึงวาดได้อย่างถูกต้องหลังจาก การหมุน (ปัญหา 183109) - แก้ไข
TabLayoutชั้นเรียนจึงจะทำงานได้อย่างถูกต้องเมื่อ ผู้ใช้คลิกหลังจากปัดนิ้ว (ปัญหา 183123)
- แก้ไข
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุนแท็บที่กำหนดเอง
-
- ลด
minSdkVersionค่าตั้งแต่ 16 ถึง 15 สำหรับการรองรับเวอร์ชัน - เพิ่มวิธีสร้าง
CustomTabsSessionTokenจาก Intent
- ลด
การแก้ไข 23
สิงหาคม 2015
- ไลบรารีการสนับสนุนใหม่ที่เพิ่ม:
สำหรับรายการการเปลี่ยนแปลงทั้งหมดของไลบรารีการสนับสนุน โปรดดูที่ การสนับสนุน รายงานความแตกต่างของ Library 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สำหรับการแทรกรายการเป็นกลุ่ม
- เพิ่มเมธอด
สำหรับรายการการเปลี่ยนแปลงทั้งหมดของไลบรารีการสนับสนุน โปรดดูที่ การสนับสนุน รายงานความแตกต่างของ Library API
การแก้ไข 22.2.0
พฤษภาคม 2015
- เพิ่มไลบรารีการสนับสนุนการออกแบบแล้ว
-
- เพิ่ม
TextInputLayoutเพื่อแสดงEditTextคำแนะนำและข้อความแสดงข้อผิดพลาดเป็นป้ายกำกับแบบลอย - เพิ่ม
FloatingActionButtonสําหรับการติดตั้งใช้งาน การกระทำหลักบนอินเทอร์เฟซ ปุ่มการทำงานแบบลอย รองรับขนาดเริ่มต้นหรือขนาดเล็ก - เพิ่ม
Snackbarสำหรับการให้น้ำหนักเบา ความคิดเห็นพร้อมด้วยการดำเนินการที่ไม่บังคับในแถบแสดงข้อความแบบเคลื่อนไหว - เพิ่ม
TabLayoutสําหรับการติดตั้งใช้งานที่แก้ไขแล้วและ เลื่อนได้ แท็บรวมถึงแบบง่าย การผสานรวมกับViewPager - เพิ่ม
NavigationViewสําหรับการใช้งานแล้ว ลิ้นชักการนำทาง ซึ่งรวมถึงความสามารถในการเพิ่มรายการในเมนูผ่าน แหล่งข้อมูลเมนู - เพิ่ม
CoordinatorLayoutแล้ว ซึ่งเป็นจุดประสงค์ทั่วไป ซึ่งใช้สำหรับสร้างทรัพยากร Dependency ระหว่าง การดูระดับเดียวกัน และช่วยให้สามารถเลื่อนรีแอ็กชันระหว่างคอมโพเนนต์ต่างๆ ได้อย่างง่ายดายผ่านCoordinatorLayout.Behaviorออกแบบได้หลากหลาย คอมโพเนนต์ไลบรารีขึ้นอยู่กับการเป็นองค์ประกอบย่อยของCoordinatorLayout - เพิ่ม
AppBarLayoutซึ่งเป็นคอนเทนเนอร์สำหรับ วันที่Toolbarและมุมมองอื่นๆ (เช่นTabLayout) สำหรับ รีแอ็กต่อเหตุการณ์แบบเลื่อนโดยการเลื่อนหน้าจอ ทำให้มองเห็นได้ในรีแอ็กชัน เพื่อเลื่อนลงด้านล่าง หรือยุบ/ยกเลิกการยุบก่อนเลื่อนปิด/ไปยังหน้าจอ - เพิ่ม
CollapsingToolbarLayoutสำหรับการควบคุมแล้ว การยุบของToolbarแถบเครื่องมืออาจยุบในกรณีต่อไปนี้ การปักหมุดคอมโพเนนต์ไว้ที่ด้านบนของหน้าจอขณะยุบ การเลื่อนพารัลแลกซ์ของคอมโพเนนต์ เช่นImageViewหรือเพิ่มสีขอบของเนื้อหาเมื่อมุมมองยุบบางส่วน
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4 มีดังนี้
-
- เพิ่ม
getContentChangeTypes()และ วันที่setContentChangeTypes()วิธีการและประเภทการเปลี่ยนแปลงที่เกี่ยวข้อง ฟิลด์ไปยังAccessibilityEventCompatสำหรับการจัดการเหตุการณ์การช่วยเหลือพิเศษ - เพิ่ม
getActiveQueueItemId(),getCustomActions(), และgetExtras()ที่มีฟิลด์สถานะที่เกี่ยวข้องPlaybackStateCompatชั้นเรียนสำหรับ กำลังรับการดำเนินการที่กำหนดเองจากคิว - เพิ่ม
addCustomAction(),setActiveQueueItemId(), และsetExtras()ลงในPlaybackStateCompat.Builderชั้นเรียนสำหรับเพิ่ม การดำเนินการที่กำหนดเองกับสถานะการเล่น - เพิ่ม
fromCustomAction()และgetCustomAction()วิธี ไปยังPlaybackStateCompat.CustomActionชั้นเรียน สำหรับการรับการดำเนินการที่กำหนดเองจากคิว - เพิ่ม
isAttachedToWindow()แล้วoffsetLeftAndRight()และoffsetTopAndBottom()ลงในคลาสViewCompatสำหรับการทำงานกับการดู - เพิ่ม
addOnPageChangeListener()แล้วclearOnPageChangeListeners()และremoveOnPageChangeListener()เมธอดของคลาสViewPagerสำหรับตอบกลับหน้าเว็บ การเปลี่ยนแปลงเลิกใช้งาน
ViewPager.setOnPageChangeListener()วิธี - เพิ่ม
notifySubtreeAccessibilityStateChanged()วิธีในการ คลาสViewParentCompatสำหรับแจ้งเตือนผู้ปกครองสำหรับข้อมูลพร็อพเพอร์ตี้ สถานะการเข้าถึงของหนึ่งในองค์ประกอบสืบทอดได้มีการเปลี่ยนแปลง - เพิ่ม
translationZ()แล้วtranslationZBy(),z()และzBy()ไปยังคลาสViewPropertyAnimatorCompatสำหรับ การเพิ่มภาพเคลื่อนไหว
- เพิ่ม
- การเปลี่ยนแปลงในไลบรารี Appcompat v7 มีดังนี้
-
- เพิ่ม
onWindowStartingSupportActionMode()ลงในAppCompatActivity,AppCompatCallbackและAppCompatDialogคลาสสำหรับโหมดการดำเนินการจัดการ เริ่มจากหน้าต่างปัจจุบัน - เพิ่ม
isHandleNativeActionModesEnabled()และ วันที่setHandleNativeActionModesEnabled()ลงในAppCompatDelegateคลาสสำหรับการจัดการโหมดการดำเนินการดั้งเดิม
- เพิ่ม
สำหรับรายการการเปลี่ยนแปลงทั้งหมดของไลบรารีการสนับสนุน โปรดดูที่ การสนับสนุน รายงานความแตกต่างของ Library 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รายการ - เพิ่ม
NestedScrollingParentและอินเทอร์เฟซScrollingViewรายการเพื่อรองรับ การดำเนินการเลื่อนและระบุ API ที่เกี่ยวข้องกับการเลื่อน - เพิ่ม
เมธอด
getNestedScrollAxes()ไปยังViewGroupCompat - เพิ่มเมธอดในคลาส
ViewParentCompatไปยัง รองรับการเลื่อนแบบฝัง - เพิ่ม
NestedScrollViewเพื่อรองรับการเลื่อนแบบซ้อนระดับบนสุดและผู้เผยแพร่โฆษณาย่อยทั้งในเวอร์ชันใหม่และเวอร์ชันเก่า Android
- เพิ่ม
- เพิ่มวิธีการและค่าคงที่ใน
MotionEventCompatสำหรับการรับค่าแกนและแหล่งที่มาของเหตุการณ์ - อัปเดต
AccessibilityNodeInfoCompatเพื่อเพิ่มเมธอดสำหรับข้อผิดพลาด การทำให้เนื้อหาใช้งานไม่ได้ และป้ายกำกับ - เพิ่มคลาสการประมาณค่าในช่วงต่อไปนี้สำหรับภาพเคลื่อนไหว:
FastOutLinearInInterpolator,FastOutSlowInInterpolator,LinearOutSlowInInterpolator,LinearOutSlowInInterpolatorและPathInterpolatorCompat - เพิ่มชั้นเรียน
Spaceเพื่อสร้างช่องว่างระหว่าง ในเลย์เอาต์อเนกประสงค์ เลิกใช้งานคลาสนี้ในคลัง Gridlayout แล้ว - เพิ่มชั้นเรียน
TextViewCompatสำหรับการเข้าถึงแล้ว ในTextView - เพิ่มพารามิเตอร์การกระจัดใน
onPull()ใน ชั้นเรียนEdgeEffectCompat
- เพิ่มชั้นเรียน
- การเปลี่ยนแปลงในไลบรารี Appcompat v7 มีดังนี้
-
- เพิ่มการรองรับการแต้มสีในวิดเจ็ตความเข้ากันได้กับแอป ซึ่งรวมถึง
AppCompatAutoCompleteTextView,AppCompatButton,AppCompatCheckBox,AppCompatCheckedTextView,AppCompatEditText,AppCompatMultiAutoCompleteTextView,AppCompatRadioButtonAppCompatRatingBar,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สำหรับแถบเครื่องมือใน API ระดับ 7 ขึ้นไปทั้งหมด และandroid:themeรองรับวิดเจ็ตทั้งหมดในอุปกรณ์ API ระดับ 11 ขึ้นไป
- เพิ่มการรองรับการแต้มสีในวิดเจ็ตความเข้ากันได้กับแอป ซึ่งรวมถึง
- การเปลี่ยนแปลงสำหรับไลบรารี Leanback v17 มีดังนี้
-
- เพิ่ม
GuidedStepFragmentแล้วGuidanceStylistและGuidedActionsStylistเพื่อรับการสนับสนุน เพื่อสร้างกระบวนการตัดสินใจแบบหลายขั้นตอน
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารี Recyclerview V7 มีดังนี้
-
- เพิ่ม
SortedListชั้นเรียนเพื่อแสดงรายการใน ลำดับรายการ และให้การแจ้งเตือนการเปลี่ยนแปลงในรายการ - เพิ่มชั้นเรียน
SortedListAdapterCallbackซึ่งสามารถเชื่อมโยงรายการที่จัดเรียงแล้วกับ ชั้นเรียนRecyclerView.Adapter
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารีเรนเดอร์ V8 มีดังนี้
-
- เพิ่มชั้นเรียน
ScriptIntrinsicHistogramสำหรับ ใช้เป็นตัวกรองฮิสโตแกรม - เพิ่มชั้นเรียน
ScriptIntrinsicResizeสำหรับ การปรับขนาดการจัดสรรแบบ 2 มิติ
- เพิ่มชั้นเรียน
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4 มีดังนี้
-
- อัปเดตเมธอด
getDrawable()เพื่อแสดงผลออบเจ็กต์ที่ถอนออกได้สำหรับรหัสทรัพยากรที่เจาะจง ความหนาแน่นของหน้าจอ และธีม - เพิ่มเมธอด
setImportantForAccessibility()เพื่อให้คุณระบุได้ว่าควรทริกเกอร์การดูหรือไม่ เหตุการณ์การช่วยเหลือพิเศษ - เพิ่มเมธอด
getStatusBarBackgroundDrawable()เพื่อให้คุณได้รับพื้นหลังของแถบสถานะ ถอนออกได้ - เพิ่มเมธอดลงใน
NotificationCompat.CarExtender.UnreadConversationเพื่อให้แอปรับส่งข้อความของ Android Auto เรียกดูข้อมูลการแจ้งเตือนเพิ่มเติมได้ - เพิ่มเมธอด
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()เพื่อแทนที่รายการในอาร์เรย์อะแดปเตอร์ของออบเจ็กต์
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารี mediaRouter v7 มีดังนี้
-
- อัปเดตไอคอน Google Cast เพื่อใช้ ดีไซน์ Material
- อัปเดตไอคอนทั้งหมดที่ใช้ในกล่องโต้ตอบ
MediaRouterเพื่อใช้ ดีไซน์ Material
- การเปลี่ยนแปลงสำหรับไลบรารี Recyclerview V7 มีดังนี้
-
- เพิ่ม
getlayoutPosition()และgetadapterPosition()เมธอดไปยังRecyclerView - เลิกใช้งาน
classgetChildPosition()และfindViewHolderForPosition()เมธอดในRecyclerViewชั้นเรียน - เลิกใช้งานเมธอด
getPosition()ใน ชั้นเรียนRecyclerView.ViewHolder - เลิกใช้งานเมธอด
getViewPosition()ใน ชั้นเรียนRecyclerView.LayoutParams
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4 มีดังนี้
-
- เพิ่ม
NotificationCompat.WearableExtenderหลายรายการ เพื่อปรับปรุงการแสดงบาร์โค้ดในการแจ้งเตือนบนอุปกรณ์ที่สวมใส่ได้
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4 มีดังนี้
-
- เพิ่มเมื่อ
NotificationCompat.CarExtenderเพื่อรองรับส่วนขยาย Android Auto ไปยังการแจ้งเตือน
- เพิ่มเมื่อ
- การเปลี่ยนแปลงในไลบรารี Appcompat v7 มีดังนี้
-
- เพิ่มตัวสร้าง
PopupMenuเพื่อรองรับป๊อปอัปใหม่แล้ว เมนู - เพิ่มการรองรับคำอธิบายไอคอนยุบใน
Toolbar - อัปเดตวิดเจ็ต
SearchViewเพื่อรองรับการแสดงcommitIcon - นำแอตทริบิวต์
buttonGravityออกจาก ชั้นเรียนToolbar
- เพิ่มตัวสร้าง
- การเปลี่ยนแปลงสำหรับไลบรารีการ์ดการแสดงผล V7 มีดังนี้
-
- เพิ่ม
setCardBackgroundColor(ColorStateList)API ไปยัง รองรับการเปลี่ยนสีพื้นหลังของCardView - เปลี่ยน
CardViewให้รายงานได้แม่นยํามากขึ้นแล้ว ค่าความทึบแสงเป็นTRANSLUCENT
- เพิ่ม
- การเปลี่ยนแปลงสำหรับ recyclerview v7 ไลบรารีต่อไปนี้
-
- เพิ่ม
TOUCH_SLOP_DEFAULTและ ค่าคงที่TOUCH_SLOP_PAGINGในชั้นเรียนRecyclerViewเพื่อรองรับการกำหนดค่า Touch slop สำหรับการแบ่งหน้า
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารี Leanback v17 มีดังนี้
-
- เพิ่มการรองรับเพื่อสร้าง Fragment ของโค้ด v4
- เปลี่ยนสีข้อความรองใน
CardView
- เพิ่มเมื่อ ไลบรารีการสนับสนุน Multidex เพื่อรองรับ ไฟล์ปฏิบัติการ (Dalvik) ของ Dalvik สำหรับการสนับสนุนไฟล์ Multi-dex ก่อน Android 5.0
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4 มีดังนี้
-
- เพิ่มการรองรับ
Fragmentแล้ว การเปลี่ยนสำหรับอุปกรณ์ที่ใช้ Android 5.0 (API ระดับ 21) โปรดทราบว่าการเปลี่ยนจะไม่มีผลต่ออุปกรณ์ที่ใช้ Android 4.4 และต่ำกว่า - เพิ่ม
DocumentFileเพื่อค่อยๆ เปลี่ยนแล้ว การเปลี่ยนจากFileขณะที่ทำงานกับโครงสร้างเอกสาร แต่คลาสนี้ต้องการ ต้นทุนในการดำเนินการที่มากขึ้นเมื่อเทียบกับ เพิ่ม APIDocumentsContractรายการใน Android 4.4 (API ระดับ 19) คุณจึงควรเปลี่ยนไปใช้DocumentsContractเมื่อทำงานบน Android 4.4 และสูงกว่า
- เพิ่มการรองรับ
- การเปลี่ยนแปลงสำหรับ v7 appcompat ไลบรารีต่อไปนี้
-
- เพิ่มการรองรับ material แล้ว ออกแบบอินเทอร์เฟซผู้ใช้
- เพิ่ม
Toolbarแล้ว ซึ่งเป็นข้อมูลทั่วไป ฟังก์ชันของActionBarสำหรับ ใช้ภายในเลย์เอาต์ของแอป - อัปเดต
ActionBarDrawerToggleซึ่งมีภาพเคลื่อนไหวแบบเมนูต่อลูกศร - อัปเดตวิดเจ็ตอินเทอร์เฟซผู้ใช้ทั่วไปเพื่อให้ปรับแต่งผ่านธีมได้ เมื่อทำงานบนอุปกรณ์ก่อน Android 5.0
- เพิ่ม
SwitchCompatซึ่งเป็นแบ็กพอร์ตแล้ว ของวิดเจ็ตSwitchที่เพิ่มไว้ใน Android 4.0 (API ระดับ 14)
- ไลบรารีมุมมองการ์ด V7 ใหม่:
-
- เพิ่มวิดเจ็ต
CardViewให้การใช้งานที่เข้ากันได้กับดีไซน์ Material สำหรับการแสดง รายการข้อมูล
- เพิ่มวิดเจ็ต
- มุมมองรีไซเคิล v7 ใหม่ ไลบรารีต่อไปนี้
-
- เพิ่มวิดเจ็ต
RecyclerViewซึ่งจะให้มุมมองรายการที่ยืดหยุ่นสำหรับใส่กรอบเวลาที่จำกัด ลงในชุดข้อมูลขนาดใหญ่
- เพิ่มวิดเจ็ต
- ไลบรารีจานสี v7 ใหม่:
-
- เพิ่ม
Paletteชั้นเรียนแล้ว ซึ่งช่วยให้คุณแยกสีที่โดดเด่นออกจากรูปภาพได้
- เพิ่ม
- ไลบรารี Leanback v17 ใหม่:
-
- เพิ่มการสนับสนุนในการสร้างอินเทอร์เฟซผู้ใช้สำหรับทีวี ได้แก่
BrowseFragment,DetailsFragmentและPlaybackOverlayFragmentสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้วิดเจ็ตอินเทอร์เฟซผู้ใช้เหล่านี้ ดูการสร้างทีวี แอปการเล่น
- เพิ่มการสนับสนุนในการสร้างอินเทอร์เฟซผู้ใช้สำหรับทีวี ได้แก่
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่มการรองรับการแจ้งเตือนเพิ่มเติมสำหรับ Android Wear ใน
NotificationCompat.WearableExtenderซึ่งช่วยให้คุณ เพื่อระบุฟีเจอร์เฉพาะสำหรับอุปกรณ์ที่สวมใส่ได้ในการแจ้งเตือน - เพิ่ม
NotificationCompat.Action.WearableExtenderแล้ว ซึ่งทำให้เพิ่มการดำเนินการในการแจ้งเตือนของอุปกรณ์ที่สวมใส่ได้ - เพิ่ม
NotificationManagerCompatแล้วซึ่งช่วยให้คุณ เพื่อออกการแจ้งเตือนที่รองรับฟีเจอร์ที่สวมใส่ได้อย่างเหมาะสม - เพิ่ม
RemoteInputแล้ว ซึ่งอนุญาตให้ใช้อุปกรณ์พกพา ในการรับการป้อนข้อมูลด้วยเสียงจากการแจ้งเตือนที่ปรากฏในอุปกรณ์ที่สวมใส่ได้ - ปรับปรุงการจัดการการตอบสนองเมื่อแตะใน
SwipeRefreshLayout
- เพิ่มการรองรับการแจ้งเตือนเพิ่มเติมสำหรับ Android Wear ใน
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่มชั้นเรียน
SwipeRefreshLayoutแล้ว ซึ่งช่วยให้ผู้ใช้รีเฟรชเนื้อหาของมุมมองด้วยแนวตั้งได้ ท่าทางสัมผัสการปัด - แก้ปัญหาการช่วยเหลือพิเศษเกี่ยวกับลิ้นชักการนำทาง
- เพิ่มชั้นเรียน
- การเปลี่ยนแปลงสำหรับไลบรารี Appcompat v7 มีดังนี้
-
- แก้ปัญหาพื้นหลังของแถบการทำงาน
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- ปรับปรุง
PrintHelperด้วยการเพิ่มอะซิงโครนัส การจัดการการพิมพ์ - แก้ไขการประมาณค่าคลาส
DrawerLayoutของaddChildrenForAccessibility() - แก้ไขการมิเรอร์สไลด์ที่ถอนออกได้ใน
ActionBarDrawerToggle - แก้ไขปัญหาทีละรายการเมื่อนำรายการออกจากตัวทำซ้ำคอลเล็กชัน
- ปรับปรุง
- การเปลี่ยนแปลงสำหรับไลบรารี MediaRouter v7 มีดังนี้
-
- ปรับปรุงการระบุเส้นทางโดยใช้ชื่อเต็มของคอมโพเนนต์ใน
MediaRouteProvider.ProviderMetadata - อัปเดต
MediaRouteChooserDialogเพื่อซ่อนที่ปิดใช้แล้ว เส้นทาง
- ปรับปรุงการระบุเส้นทางโดยใช้ชื่อเต็มของคอมโพเนนต์ใน
- การเปลี่ยนแปลงสำหรับไลบรารีโหมดแสดงภาพ V8
-
- เพิ่มการเผยแพร่ข้อผิดพลาดสำหรับเลเยอร์thunking ของ RenderScript
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่มการรองรับสำหรับ Storage API ภายนอกที่มี
getObbDirs(),getExternalFilesDirs(),getExternalCacheDirs(), และgetStorageState()เมธอดของตัวช่วยเหล่านี้จะแสดงออบเจ็กต์ไฟล์เดียวเสมอในอุปกรณ์ที่ใช้ Android 4.3 (API ระดับ 18) และเวอร์ชันก่อนหน้า เมื่อใช้ Android 4.4 (API ระดับ 19) ขึ้นไป เมธอดเหล่านี้อาจแสดงผลออบเจ็กต์ไฟล์มากกว่า 1 รายการ - เพิ่มคลาส
PrintHelperที่ใช้งานได้กับ Print API เพื่อพิมพ์รูปภาพด้วยโค้ดขั้นต่ำ - เพิ่มการสนับสนุนอินเทอร์เฟซผู้ใช้แบบลากเพื่อเปิดสำหรับเมนูป๊อปอัป สำหรับข้อมูลเพิ่มเติม โปรดดู
PopupMenuCompatและListPopupWindowCompat - เพิ่มการสนับสนุนการช่วยเหลือพิเศษด้วยการเพิ่ม
findFocus()วิธีในAccessibilityNodeProviderCompatและgetLiveRegion()วิธีในAccessibilityNodeInfoCompat - เพิ่มคลาสผู้ช่วยเหลือ
ScaleGestureDetectorCompatสำหรับ เข้าถึงวิธีท่าทางสัมผัสการปรับขนาดใหม่ - แก้ไขปัญหาเกี่ยวกับ
ActionBarDrawerToggleใน ภาษาที่แสดงจากขวาไปซ้าย - แก้ไขตัวเลือก
AutoScrollHelperในการใช้แล้ว สัมผัสกิจกรรมหรืออนุญาตให้ส่งผ่านไปยังมุมมองอื่น
- เพิ่มการรองรับสำหรับ Storage API ภายนอกที่มี
- การเปลี่ยนแปลงสำหรับไลบรารี MediaRouter v7 มีดังนี้
-
- เพิ่มการสนับสนุนสำหรับการจัดคิวการเล่นสื่อ การตั้งค่าส่วนหัว HTTP และสื่อ ระยะเวลาการเล่น
- เพิ่มการดำเนินการอย่างชัดเจนในการเริ่มต้น รับ และสิ้นสุดเซสชันสำหรับการจัดการสื่ออย่างชัดเจน เซสชันการเล่นด้วยเราเตอร์สื่อ
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- อินเทอร์เฟซผู้ใช้
- เพิ่ม
BidiFormatterสำหรับการจัดการแล้ว สตริงข้อความที่จะผสมผสานข้อความที่มีรูปแบบจากขวาไปซ้ายและซ้ายไปขวา - แก้ไข
ViewPagerเพื่อให้จัดการกรณีที่ เพจเจอร์มีความกว้างที่วัดได้เป็น 0 ในการประมวลผลเลย์เอาต์เริ่มต้น - แก้ไขเมื่อ
DrawerLayoutและSlidingPaneLayoutเพื่อไม่ให้มีการส่งข้อยกเว้น การวัดขณะกำลังแก้ไขโค้ดโปรเจ็กต์
- เพิ่ม
- การช่วยเหลือพิเศษ
- เพิ่ม
ExploreByTouchHelperเพื่อลดความซับซ้อนของ การนำการช่วยเหลือพิเศษมาใช้สำหรับมุมมองที่กำหนดเอง - แก้ไขปัญหาเกี่ยวกับ
ViewPagerอย่างไม่ถูกต้อง กำลังป้อนข้อมูลเหตุการณ์การช่วยเหลือพิเศษTYPE_VIEW_SCROLLEDรายการ - แก้ไขข้อยกเว้นตัวชี้แบบ Null ใน
ViewPagerเมื่อ กำลังสร้างเหตุการณ์การช่วยเหลือพิเศษ AccessibilityNodeInfoCompatแบบง่าย โดยเปลี่ยนอินพุตCharSequenceรายการเป็นออบเจ็กต์Stringรายการ- เลิกใช้งาน
AccessibilityRecordCompatเครื่องมือสร้างที่ใช้Objectเป็นอินพุต
- เพิ่ม
- สื่อ
- เพิ่มชั้นเรียนตัวช่วยของ
TransportMediatorเพื่อจัดการ การควบคุมการส่งสื่อ เช่น เล่น หยุดชั่วคราว ข้าม และการทำงานอื่นๆ สำหรับสื่อ - เพิ่ม
DisplayManagerCompatสำหรับการจัดการแล้ว แสดงผลไปยังอุปกรณ์อย่างน้อย 1 จอ
- เพิ่มชั้นเรียนตัวช่วยของ
- การเปลี่ยนแปลงอื่นๆ
- เพิ่มชั้นเรียนผู้ช่วยเหลือ
WakefulBroadcastReceiverสำหรับ ใช้รูปแบบทั่วไปของการตรวจจับเหตุการณ์การปลุกระบบของอุปกรณ์และส่งต่อการทำงาน เป็นServiceพร้อมกับตรวจสอบว่าอุปกรณ์ไม่กลับไปที่ เข้าสู่โหมดสลีปก่อนที่แฮนด์ออฟจะเสร็จสมบูรณ์ - เพิ่ม API ใหม่ 2 รายการ
commitContentChanged()และrollbackContentChanged()ถึงAsyncTaskLoaderถึง ช่วยจัดการการอัปเดตในเบื้องหลังสำหรับการเปลี่ยนแปลงข้อมูลที่ถูกยกเลิกในภายหลัง
- เพิ่มชั้นเรียนผู้ช่วยเหลือ
- อินเทอร์เฟซผู้ใช้
- ไลบรารี Appcompat v7 ใหม่:
-
- เพิ่ม
ActionBarเพื่ออนุญาตให้ใช้งาน การออกแบบอินเทอร์เฟซผู้ใช้ของแถบการทำงาน รูปแบบกลับไปใช้ Android 2.1 (API ระดับ 7) ขึ้นไป การใช้ชั้นเรียนนี้ต้องใช้ ที่คุณใช้กิจกรรมโดยการขยายฟิลด์ActionBarActivityชั้นเรียน
- เพิ่ม
- ไลบรารี MediaRouter v7 ใหม่:
-
เพิ่มไลบรารี MediaRouter ใหม่ซึ่งรองรับการแสดงตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ Google Cast API ไลบรารี MediaRouter v7 เป็นวิธีควบคุมการกำหนดเส้นทางของ ช่องทางสื่อและสตรีมจากอุปกรณ์ปัจจุบันไปยังหน้าจอภายนอก ลำโพงและอุปกรณ์ปลายทางอื่นๆ ที่เข้ากันได้ตั้งแต่ Android 2.1 (API ระดับ 7) โปรดดู V7 MediaRouter Library สำหรับข้อมูลเพิ่มเติม
API ไลบรารี MediaRouter v7 ที่เปิดตัวในการสนับสนุน ห้องสมุด r18 อาจมีการเปลี่ยนแปลงสำหรับการสนับสนุนฉบับแก้ไขภายหลัง คลัง ในขณะนี้ เราขอแนะนำให้คุณใช้ไลบรารีเฉพาะเมื่อเชื่อมต่อ ที่มีฟังก์ชัน Google Cast เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่ม
DrawerLayoutสำหรับการสร้าง การนำทาง ลิ้นชักที่ดึงเข้าได้จากขอบหน้าต่าง - เพิ่มวิดเจ็ต
SlidingPaneLayoutเพื่อสร้างการลิงก์ มุมมองสรุปและมุมมองรายละเอียดที่ปรับให้เข้ากับหน้าจอขนาดต่างๆ อย่างเหมาะสม - เพิ่ม
ActionBarDrawerToggleเป็นวิธีผูก รวมฟังก์ชันของDrawerLayoutและActionBar - เพิ่ม
ViewDragHelperเป็นคอมโพเนนต์ใหม่ทั่วไปแล้ว สำหรับการลากมุมมองภายในมุมมองระดับบนสุด - เพิ่ม
ScrollerCompatเพื่อรองรับความเข้ากันได้กับScrollerและOverScroller - เพิ่ม
FileProviderเพื่ออนุญาตการแชร์แบบส่วนตัวแล้ว ระหว่างแอปพลิเคชันได้ด้วย - อัปเดต
ViewPagerเพื่อส่งข้อยกเว้นหาก คลาสPagerAdapterที่เชื่อมโยงมีการแก้ไขโดยไม่มี โทรหาnotifyDataSetChanged() - แก้ปัญหาการจัดเรียงภาพวาดของบุตรหลาน
ViewPagerรายการ คำสั่งซื้อ - แก้ไข
GestureDetectorCompatเพื่อการจัดส่งที่หายไปแล้ว การโทรonSingleTapConfirmed(MotionEvent)ครั้ง ระหว่างเหตุการณ์การหมดเวลาการแตะและเหตุการณ์การกดค้าง
- เพิ่ม
- ไลบรารีตารางกริด v7 ใหม่:
-
- เพิ่ม
GridLayoutเพื่อสนับสนุน ออบเจ็กต์เลย์เอาต์GridLayout - เพิ่ม
android.support.v7.widget.Spaceแล้ว ซึ่งสามารถใช้เพื่อสร้างพื้นที่ว่างได้ ภายในออบเจ็กต์เลย์เอาต์GridLayout
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- ปรับปรุงพฤติกรรมการโต้ตอบของ
ViewPager - แก้ไขข้อบกพร่องที่อาจทำให้
ViewPagerเลือก ผิดหน้า - การใช้เมธอด
removeView()แบบคงที่ ระหว่างการออกแบบสำหรับViewPager - แก้ไขปัญหาเกี่ยวกับ
SearchViewCompatซึ่งการใช้ ปุ่มย้อนกลับเพื่อปิดไม่ล้างข้อความค้นหา การแก้ไขนี้ใช้กับ API ของโฮสต์ระดับ 14 ขึ้นไป
- ปรับปรุงพฤติกรรมการโต้ตอบของ
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- อินเทอร์เฟซผู้ใช้
- เพิ่มการรองรับสำหรับ
Fragmentชั้นเรียนที่ฝังอยู่ - เพิ่มการปรับปรุงการแก้ไขข้อบกพร่อง
FragmentManager - แก้ไขปัญหาใน
FragmentTabHostที่มีส่วนย่อย และการโต้ตอบกับแท็บอาจส่งผลให้สูญเสียสถานะListView - แก้ปัญหาเกี่ยวกับคำแนะนำที่ผู้ใช้เห็นใน
FragmentStatePagerAdapter - เพิ่มเมื่อ
PageTransformerเชื่อมต่อกับViewPagerเพื่อให้แอปพลิเคชัน จะมีลักษณะการทำงานที่กำหนดเองสำหรับการเลื่อน - เพิ่มฟีเจอร์ใหม่และการแก้ไขใน
TaskStackBuilderแล้ว จากรุ่นปัจจุบัน - แก้ไข
PagerTitleStripเพื่อติดตามอย่างถูกต้อง ใช้PagerAdapterอยู่ - แก้ปัญหาภาพกะพริบ การวางตำแหน่ง และการตัดข้อความ
PagerTitleStrip - แก้ไข
PagerTabStripเพื่อให้เป็นไปตามระยะห่างจากขอบอย่างเหมาะสม เมื่อวาดเส้นใต้
- เพิ่มการรองรับสำหรับ
- การช่วยเหลือพิเศษ
- เพิ่มการรองรับท่าทางสัมผัสการช่วยเหลือพิเศษและประเภทเหตุการณ์การแตะแบบใหม่ใน
AccessibilityEventCompat - เพิ่มการสนับสนุนสำหรับ API การช่วยเหลือพิเศษใหม่ใน
ViewCompat - เพิ่มการรองรับเมธอด
performAccessibilityAction()ในViewCompatแล้ว
- เพิ่มการรองรับท่าทางสัมผัสการช่วยเหลือพิเศษและประเภทเหตุการณ์การแตะแบบใหม่ใน
- เพิ่มการรองรับท่าทางสัมผัสด้วย
GestureDetectorCompat - เพิ่มการสนับสนุนการทำงานแบบอะตอมมิกกับไฟล์โดยใช้
AtomicFileชั้นเรียน - เพิ่มการรองรับเมธอด
makeทั้งชุดในIntentCompat - เพิ่ม
trimToSize()วิธีใน คลาสยูทิลิตีLruCache - อัปเดต
ConnectivityManagerCompatเพื่อรับข้อมูลเครือข่ายแล้ว จากCONNECTIVITY_ACTIONออกอากาศ
- อินเทอร์เฟซผู้ใช้
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่มการรองรับฟีเจอร์การแจ้งเตือนที่เปิดตัวใน Android 4.1 (API ระดับ 16) ด้วย
การเพิ่มใน
NotificationCompat
- เพิ่มการรองรับฟีเจอร์การแจ้งเตือนที่เปิดตัวใน Android 4.1 (API ระดับ 16) ด้วย
การเพิ่มใน
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- การสนับสนุนอินเทอร์เฟซผู้ใช้
- เพิ่มการสนับสนุน
PagerTabStripซึ่งจะปรับปรุงประสิทธิภาพ ฟังก์ชันอื่นๆ นอกเหนือจากPagerTitleStrip - แก้ไขข้อบกพร่องต่างๆ สำหรับ
PagerTitleStripและPagerTabStripรวมถึงตัวเลือกsetAllCapsรายการ การจัดข้อความชื่อ การปรับปรุงลักษณะ การจำกัดความกว้างขั้นต่ำ และปัญหาการนำทางด้วยการสัมผัส - เพิ่มการรองรับรางน้ำ
ViewPagerหน้า ช่วยให้คลาสViewPagerสนับสนุนการแบ่งหน้าสำหรับเนื้อหาที่มี ช่วงการเลื่อนในแนวนอนขนาดใหญ่ เช่น แผนที่ - แก้ไขข้อบกพร่องหลายรายการสำหรับ
ViewPagerรวมถึงขนาด และปัญหาการเปลี่ยนแปลงชุดข้อมูล การกำหนดตำแหน่งหน้าเว็บ การโต้ตอบของผู้ใช้ การติดตามการเลื่อนและแป้นพิมพ์ ปัญหาการนำทาง - แก้ไขข้อบกพร่องหลายรายการสำหรับ
Fragmentซึ่งรวมถึง การจัดการonActivityResult()เมื่อ ไม่มีส่วนย่อยเป้าหมายแล้ว ส่งเหตุการณ์การเลือกไปยังส่วนย่อยที่มองไม่เห็น ปรับปรุงแล้ว ลักษณะการทำงานของFragmentTransaction.replace()และเพิ่มการจัดการสถานะที่ดีขึ้นสำหรับชิ้นส่วนที่ย้ายออกจากมุมมอง - เพิ่มการรองรับเมธอด
postOnAnimation()ในViewCompat - อัปเดต
NavUtilsเพื่อใช้ Android 4.1 (API ระดับ 16) ฟังก์ชันการไปยังส่วนต่างๆ ขึ้น (หากมี)
- เพิ่มการสนับสนุน
- การช่วยเหลือพิเศษ
- อัปเดตชั้นเรียนการสนับสนุนการช่วยเหลือพิเศษ ซึ่งรวมถึง
AccessibilityNodeInfoCompatเพื่อติดตามการแก้ไขที่ทำใน Android 4.1 (API ระดับ 16) - เพิ่มการรองรับการเลื่อนสำหรับการช่วยเหลือพิเศษใน
ViewPager
- อัปเดตชั้นเรียนการสนับสนุนการช่วยเหลือพิเศษ ซึ่งรวมถึง
- การปรับปรุงทั่วไป
- อัปเดต
TaskStackBuilderให้สอดคล้องกับการเปลี่ยนแปลง API ใน Android 4.1 (API ระดับ 16) TaskStackBuilderที่ได้รับการปรับปรุงเพื่อให้ใช้งานได้ จากบริการ- เพิ่มการรองรับ
EXTRA_HTML_TEXTแล้ว ไปยังShareCompat - อัปเดต
NotificationCompat.Builderเพื่อรองรับsetNumber()วิธี - เพิ่มการรองรับใน
ConnectivityManagerCompatสำหรับisActiveNetworkMetered()วิธี
- อัปเดต
- การสนับสนุนอินเทอร์เฟซผู้ใช้
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- สร้างแฟล็ก Intent คงที่สำหรับออบเจ็กต์
PendingIntentรายการแล้ว โดยTaskStackBuilder - นำแอตทริบิวต์ที่ไม่ได้ใช้ออกจากโปรเจ็กต์ไลบรารี gridlayout เพื่อให้มั่นใจว่า ไลบรารีนี้สร้างได้ด้วย API ระดับ 7 ขึ้นไป
- เพิ่ม
.classpathและ.projectไฟล์สำหรับตารางกริดแล้ว โครงการห้องสมุด
- สร้างแฟล็ก Intent คงที่สำหรับออบเจ็กต์
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่ม
ShareCompatซึ่งมีคลาสตัวช่วย สำหรับการส่งและรับเนื้อหาสำหรับแอปพลิเคชันการแชร์ผ่านโซเชียล รวมถึงข้อมูลเมตาใหม่สำหรับ ระบุแหล่งที่มาของข้อมูลที่แชร์ไปยังแอปต้นทาง ชั้นเรียนนี้ยังมีการผสานรวมกับShareActionProviderใหม่ใน Android 4.0 - เพิ่ม
NavUtilsและTaskStackBuilderเพื่อสนับสนุนการติดตั้งใช้งาน หลักเกณฑ์การออกแบบของ Android สำหรับการนำทาง เหล่านี้ ที่เพิ่มเข้ามา ได้แก่ วิธีใช้ปุ่มขึ้นของแถบการทำงานในเวอร์ชันต่างๆ สำหรับตัวอย่างการใช้งานรูปแบบนี้ ดูตัวอย่าง Appnavigation ใน (<em><sdk></em>/samples/<em><platform></em>/AppNavigation) - เพิ่ม
NotificationCompat.Builderเพื่อระบุ การใช้งานความเข้ากันได้ของคลาสตัวช่วยของ AndroidNotification.Builderของ Android 3.0 สำหรับการสร้างการแจ้งเตือนของระบบตามมาตรฐาน
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- การเปลี่ยนแปลงใน ViewPager:
- เพิ่มการสนับสนุนมุมมองการตกแต่งเพิ่มเติมสำหรับ
ViewPagerคุณอาจจัดเตรียมมุมมองตกแต่งเป็นมุมมองย่อยของเพจเจอร์ในเลย์เอาต์ XML ได้ - เพิ่ม
PagerAdapter.getPageTitle()ลงในสตริงชื่อของหน้าเว็บแล้ว ซึ่งมีค่าเริ่มต้นเป็น no สำหรับแต่ละหน้า - เพิ่ม
PagerTitleStripซึ่งเป็นชื่อแบบไม่โต้ตอบแล้ว Strip เพื่อเพิ่มเป็นช่องย่อยของ ViewPager ได้ นักพัฒนาซอฟต์แวร์สามารถให้ข้อความ ลักษณะและสี ตลอดจนข้อมูลการกำหนดขนาดและแรงโน้มถ่วงของเค้าโครง - อัปเดต
PagerAdapterวิธีในการใช้ ViewGroup แล้ว ออบเจ็กต์ แทนที่จะเป็น View เพื่อหลีกเลี่ยงการแคสต์คลาสในการใช้งานอะแดปเตอร์ - อัปเดต
ViewPagerเพื่อใช้รูปแบบ Launcher พฤติกรรมการสะบัด - แก้ไขข้อบกพร่องด้านการโต้ตอบกับอินเทอร์เฟซผู้ใช้และการทดสอบการทำงานอัตโนมัติ
- เพิ่มการสนับสนุนมุมมองการตกแต่งเพิ่มเติมสำหรับ
- การรองรับส่วนย่อย:
- เปลี่ยน
setStartDeferred()เมธอดเป็นsetUserVisibleHint(boolean)แล้ว - เพิ่มการเลื่อนการเริ่มต้นสำหรับหน้านอกหน้าจอเพื่อปรับปรุงประสิทธิภาพ
- เปลี่ยน
- การสนับสนุนสำหรับ Accessibility API:
- อัปเดต
AccessibilityDelegateCompatวิธีแล้ว เพื่อแสดงผลรายการที่ว่างเปล่าแทนค่าว่าง - เพิ่ม API ใหม่ที่ตัวอย่างเวอร์ชัน 4 จำเป็นต้องใช้
- อัปเดต
- การเปลี่ยนแปลงใน ViewPager:
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- การสนับสนุนสำหรับ Accessibility API:
- เพิ่มเมื่อ
AccessibilityDelegateCompatเพื่อรองรับView.AccessibilityDelegate - เพิ่มเมื่อ
AccessibilityEventCompatเพื่อรองรับAccessibilityEvent - เพิ่มเมื่อ
AccessibilityManagerCompatเพื่อรองรับAccessibilityManager - เพิ่มเมื่อ
AccessibilityNodeInfoCompatเพื่อรองรับAccessibilityNodeInfo - เพิ่มเมื่อ
AccessibilityRecordCompatเพื่อรองรับAccessibilityRecord - เพิ่มเมื่อ
AccessibilityServiceInfoCompatเพื่อรองรับAccessibilityServiceInfo - เพิ่มเมื่อ
ViewGroupCompatเพื่อรองรับฟีเจอร์การช่วยเหลือพิเศษในViewGroup - แก้ไขเมื่อ
ViewCompatเพื่อรองรับฟีเจอร์การช่วยเหลือพิเศษในView
- เพิ่มเมื่อ
- การเปลี่ยนแปลงใน ViewPager:
- เพิ่มการรองรับระยะขอบระหว่างหน้า
คุณระบุ
Drawableหรือไม่ก็ได้ ให้เต็มขอบ - เพิ่มการรองรับ
EdgeEffect - เพิ่มการสนับสนุนสำหรับการไปยังส่วนต่างๆ ด้วยแป้นพิมพ์
- เพิ่มการรองรับเพื่อควบคุมจำนวนหน้าที่จะเก็บไว้แต่ละด้าน ของหน้าปัจจุบัน
- ฟิสิกส์การแตะที่ปรับปรุงใหม่
- แก้ไขข้อบกพร่องด้านลักษณะการทำงานของอินเทอร์เฟซผู้ใช้
- เพิ่มการรองรับระยะขอบระหว่างหน้า
คุณระบุ
- การสนับสนุนสำหรับ Accessibility API:
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่ม
EdgeEffectCompatไปที่ สนับสนุนEdgeEffect - เพิ่ม
LocalBroadcastManagerเพื่อให้แอปพลิเคชัน ลงทะเบียนและรับ Intent ภายในแอปพลิเคชันเดียวโดยไม่ต้อง ออกอากาศทั่วโลก - เพิ่มการรองรับใน
ViewCompatเพื่อตรวจหาและตั้งค่าการเลื่อนเกิน โหมดสำหรับViewใน Android 2.3 ขึ้นไป - การเปลี่ยนแปลงใน Fragment API
- เพิ่ม API ใหม่เพื่อควบคุมการแสดงเมนูใหม่
- เพิ่ม API สำหรับภาพเคลื่อนไหวที่กำหนดเองแล้ว
- เพิ่ม API ใน
FragmentActivityเพื่อรักษาแบบกำหนดเอง และข้อมูลอินสแตนซ์ที่ไม่ได้กำหนดค่า - การแก้ไขข้อบกพร่องหลายรายการ
- แก้ไขข้อบกพร่องของ
Loaderที่ทำให้เกิดปัญหาใน การยกเลิกAsyncTaskเมื่อเรียกใช้บน Froyo และเก่ากว่า เวอร์ชันต่างๆ ของแพลตฟอร์ม การสนับสนุน ตอนนี้โค้ดจะใช้AsyncTaskเวอร์ชันของตัวเองเพื่อให้ยังคงเดิม พฤติกรรมบนแพลตฟอร์มทุกเวอร์ชัน
- เพิ่ม
- การเปลี่ยนแปลงสำหรับไลบรารีการสนับสนุน v4:
-
- เพิ่มการสนับสนุนสำหรับ
Fragment.SavedState - เพิ่ม
MotionEventCompatเพื่อรองรับMotionEventAPI ที่ใหม่กว่า - เพิ่ม
VelocityTrackerCompatเพื่อรองรับVelocityTrackerAPI ที่ใหม่กว่า - เพิ่ม
ViewConfigurationCompatเพื่อรองรับViewConfigurationAPI ที่ใหม่กว่า - API ใหม่ทั้งหมด (ใช้ได้เฉพาะในไลบรารีการสนับสนุน) ที่จะช่วยให้คุณสร้าง UI ได้
ด้วยการแบ่งหน้าแนวนอน ทำให้ผู้ใช้สามารถปัดซ้ายและขวาระหว่างการดูเนื้อหาได้ ชั้นเรียนถึง
ซึ่งรวมถึง
ViewPager:ViewGroupที่จัดการ สำหรับมุมมองย่อย ซึ่งผู้ใช้สามารถปัดดูได้PagerAdapter: อะแดปเตอร์ที่เติมค่าViewPagerด้วยองค์ประกอบ มุมมองที่เป็นตัวแทนแต่ละหน้าได้FragmentPagerAdapter: ส่วนขยายของPagerAdapterสำหรับการพลิก ระหว่างส่วนย่อยFragmentStatePagerAdapter: ส่วนขยายของPagerAdapterสำหรับ การพลิกระหว่างส่วนย่อยที่ใช้การรองรับFragment.SavedStateของไลบรารี
- เพิ่มการสนับสนุนสำหรับ
- ไลบรารีการสนับสนุน v13 ใหม่:
-
- รวม
FragmentPagerAdapterและFragmentStatePagerAdapterเพื่อรองรับการแบ่งหน้าแนวนอนซึ่งเหมือนกับ API ที่เพิ่มลงในไลบรารีการสนับสนุน v4 แต่ต้องมี คอมโพเนนต์แพลตฟอร์มอื่นๆ ใน Android 3.2 ใช้ไลบรารีนี้แทน v4 หากคุณกำลังพัฒนาเพื่อ Android 3.2 ขึ้นไป (API อื่นๆ ทั้งหมดในไลบรารี v4 มีให้ใช้งานกับระดับ API แล้ว 13)
- รวม
- การเปลี่ยนแปลงสำหรับไลบรารี v4 มีดังนี้
-
- รองรับภาพเคลื่อนไหวส่วนย่อย
- แก้ไข
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
หมายเหตุ: ตอนนี้คุณสามารถใช้ข้อมูลอ้างอิงสำหรับ API ของไลบรารีการสนับสนุนกับ
เฟรมเวิร์กที่อ้างถึง เช่น android.support.v4.app
การแก้ไข 5
ธันวาคม 2011
การแก้ไข 4
ตุลาคม 2011
การแก้ไข 3
กรกฎาคม 2011
การแก้ไข 2
พฤษภาคม 2011
การแก้ไข 1
มีนาคม 2011
รุ่นแรกที่ใช้ไลบรารี v4