blob: 1152eac4dbd85b14f691996f74e4a0dcda6bd7ff [file] [log] [blame]
Scott Main50e990c2012-06-21 17:14:39 -07001page.title=Support Library
2
3@jd:body
4
5<div id="qv-wrapper">
Joe Fernandez5ffbba62013-07-15 15:53:03 -07006 <div id="qv">
Scott Main50e990c2012-06-21 17:14:39 -07007
Joe Fernandez5ffbba62013-07-15 15:53:03 -07008 <h2>In this document</h2>
9 <ol>
10 <li><a href="#overview">Overview</a></li>
11 <li><a href="#revisions">Revisions</a></li>
12 </ol>
Scott Main50e990c2012-06-21 17:14:39 -070013
Joe Fernandez5ffbba62013-07-15 15:53:03 -070014 <h2>See also</h2>
15 <ol>
16 <li><a href="{@docRoot}tools/support-library/features.html">
17 Support Library Features</a></li>
18 <li><a href="{@docRoot}tools/support-library/setup.html">
19 Support Library Setup </a></li>
20 </ol>
Scott Main50e990c2012-06-21 17:14:39 -070021
Joe Fernandez5ffbba62013-07-15 15:53:03 -070022 </div>
Scott Main50e990c2012-06-21 17:14:39 -070023</div>
24
Dirk Dougherty37ec33742013-07-29 20:44:17 -070025<p>The Android Support Library package is a set of code libraries that provide
Joe Fernandeza9a65c62013-07-23 23:24:13 -070026 backward-compatible versions of Android framework APIs as well as features that are only available
27 through the library APIs. Each Support Library is backward-compatible to a specific Android API
28 level. This design means that your applications can use the libraries' features and still be
29 compatible with devices running Android 1.6 (API level 4) and up.</p>
Scott Main50e990c2012-06-21 17:14:39 -070030
Joe Fernandeza9a65c62013-07-23 23:24:13 -070031<p>This guide provides information about what features are enabled by the Support Libraries,
32 how to use them in your development environment and information about library releases.</p>
Scott Main50e990c2012-06-21 17:14:39 -070033
34
Joe Fernandez5ffbba62013-07-15 15:53:03 -070035<h2 id="overview">Overview</h2>
Scott Main50e990c2012-06-21 17:14:39 -070036
Joe Fernandez5ffbba62013-07-15 15:53:03 -070037<p>Including the Support Libraries in your Android project is considered a best practice for
Dirk Dougherty37ec33742013-07-29 20:44:17 -070038 application developers, depending on the range of platform versions your app is targeting
39 and the APIs that it uses. Using the features the libraries provide can help you improve the look of your
Joe Fernandez5ffbba62013-07-15 15:53:03 -070040 application, increase performance and broaden the reach of your application to more users.
41 If you use the Android
42 <a href="{@docRoot}tools/projects/templates.html">code template</a> tools, you will notice that
43 all the Android application templates include one or more of the Support Libraries by default.</p>
44
45<p>The Support Libraries each target a base Android API level and each provides a different set
46 of features. In order to effectively use the libraries, it is important to consider what features
47 you want to support and understand what features are supported by each library at what Android
48 API level. To get started, review the
49 <a href="{@docRoot}tools/support-library/features.html">Support Library Features</a> guide.
50 After that, go to the
51 <a href="{@docRoot}tools/support-library/setup.html">Support Library Setup</a> topic to
52 learn how to incorporate the Support Libraries into your application. For more details
53 about Support Library APIs, see the {@link android.support.v4.app android.support}
54 packages in the API reference.</p>
55
56
57<h2 id="revisions">Revisions</h2>
58
59<p>This section provides details about the Support Library package releases.</p>
Scott Main50e990c2012-06-21 17:14:39 -070060
Rich Slogar4575cad2015-05-27 13:03:14 -070061<div class="toggle-content opened">
Trevor Johns682c24e2016-04-12 10:13:47 -070062 <p id="rev23-2-1">
63 <a href="#" onclick="return toggleContent(this)"><img src=
64 "{@docRoot}assets/images/styles/disclosure_up.png" class="toggle-content-img"
65 alt="">Android Support Library, revision 23.2.1</a> <em>(March
66 2016)</em>
67 </p>
68
69 <div class="toggle-content-toggleme">
70 <dl>
71 <dt>
72 Changes for <a href=
73 "{@docRoot}tools/support-library/features.html#v4">v4 Support
74 Library</a>:
75 </dt>
76
77 <dd>
78 <ul>
79 <li>Fixed an exception in {@link
80 android.support.v4.graphics.drawable.DrawableCompat#wrap
81 DrawableCompat.wrap()} and {@link android.graphics.drawable.LayerDrawable} on
82 API levels 17 to 19. (<a class="external-link" href=
83 "https://code.google.com/p/android/issues/detail?id=201817">Issue 201817</a>)
84 </li>
85
86 <li>Fixed an {@code ArrayIndexOutOfBoundsException} in {@link
87 android.support.v4.widget.ViewDragHelper#shouldInterceptTouchEvent
88 ViewDragHelper.shouldInterceptTouchEvent()}. (<a class="external-link"
89 href="https://code.google.com/p/android/issues/detail?id=182262">Issue
90 182262</a>)
91 </li>
92
93 <li>Fixed a bug in {@link android.support.v4.view.ViewPager} related to
94 scroll calculation for size changes.
95 </li>
96
97 <li>Fixed a {@code NullPointerException} when {@code
98 DrawerLayout.removeDrawerListener()} is called without a set {@link
99 android.support.v4.widget.DrawerLayout.DrawerListener
100 DrawerLayout.DrawerListener}. (<a class="external-link" href=
101 "https://code.google.com/p/android/issues/detail?id=202478">Issue 202478</a>)
102 </li>
103
104 <li>Fixed a bug where {@link android.support.v4.view.ViewPager} does not set
105 {@link android.view.accessibility.AccessibilityEvent} parameters properly
106 when scrolling.
107 </li>
108
109 <li>Fixed an issue that caused lag during device rotation when using
110 {@link android.support.v4.graphics.drawable.DrawableCompat#wrap
111 Drawable.wrap()}. (<a class="external-link" href=
112 "https://code.google.com/p/android/issues/detail?id=201924">Issue 201924</a>)
113 </li>
114 </ul>
115 </dd>
116
117 <dt>
118 Changes for <a href=
119 "{@docRoot}tools/support-library/features.html#v7-appcompat">v7
120 appcompat library</a>:
121 </dt>
122
123 <dd>
124 <ul>
125 <li>Reverted dependency on vector assets so that developers using the
126 <a href="{@docRoot}tools/support-library/features.html#v7-appcompat">appcompat
127 library</a> are not forced to use {@link
128 android.graphics.drawable.VectorDrawable} and its associated build flags.
129 </li>
130
131 <li>Fixed a compatibility issue with Night Mode and API level 23.
132 (<a class="external-link" href=
133 "https://code.google.com/p/android/issues/detail?id=201910">Issue
134 201910</a>)
135 </li>
136
137 <li>Fixed a compatibility issue with {@link
138 android.support.v7.widget.SwitchCompat} and API level 7. (<a class=
139 "external-link" href=
140 "https://code.google.com/p/android/issues/detail?id=201942">Issue 201942</a>)
141 </li>
142
143 <li>Fixed an issue with propagating configuration values in Resources objects
144 <a class="external-link" href=
145 "https://code.google.com/p/android/issues/detail?id=201928">Issue 201928</a>
146 </li>
147
148 <li>Fixed a compatibility issue where the {@link
149 android.support.v7.app.NotificationCompat.MediaStyle
150 NotificationCompat.MediaStyle} cancel button becomes invisible on API level
151 21 and below. (<a class="external-link" href=
152 "https://code.google.com/p/android/issues/detail?id=202156">Issue 202156</a>)
153 </li>
154
155 <li>Fixed a compatibility crash with {@link
156 android.support.v7.widget.AppCompatSpinner} on API level 21 and below.
157 (<a class="external-link" href=
158 "https://code.google.com/p/android/issues/detail?id=202246">Issue 202246</a>)
159 </li>
160
161 <li>Fixed an issue where the {@code app:textAllCaps = "false"} style did not
162 work. (<a class="external-link" href=
163 "https://code.google.com/p/android/issues/detail?id=202117">Issue 202117</a>)
164 </li>
165
166 <li>Fixed a crash when restoring {@link android.widget.SearchView}.
167 (<a class="external-link" href=
168 "https://code.google.com/p/android/issues/detail?id=201836">Issue
169 201836</a>)
170 </li>
171
172 <li>Fixed a memory leak that occurs when tinting drawable resources using
173 AppCompat. (<a class="external-link" href=
174 "https://code.google.com/p/android/issues/detail?id=202379">Issue 202379</a>)
175 </li>
176
177 <li>Fixed an issue with {@link android.view.KeyEvent} on API level 11 and
178 lower. (<a class="external-link" href=
179 "https://code.google.com/p/android/issues/detail?id=202939">Issue 202939</a>)
180 </li>
181 </ul>
182 </dd>
183
184 <dt>
185 Changes for <a href=
186 "{@docRoot}tools/support-library/features.html#v7-cardview">v7 cardview
187 library</a>:
188 </dt>
189
190 <dd>
191 <ul>
192 <li>Added Night Mode support for {@link
193 android.support.v7.widget.CardView}. (<a class="external-link"
194 href="https://code.google.com/p/android/issues/detail?id=194497">Issue
195 194497</a>)
196 </li>
197 </ul>
198 </dd>
199
200 <dt>
201 Changes for <a href=
202 "{@docRoot}tools/support-library/features.html#v7-recyclerview">v7
203 recyclerview library</a>:
204 </dt>
205
206 <dd>
207 <ul>
208 <li>Fixed bugs related to various measure-spec methods. (<a class=
209 "external-link" href=
210 "https://code.google.com/p/android/issues/detail?id=201856">Issue
211 201856</a>)
212 </li>
213
214 <li>Reduced the lockdown period in which {@link
215 android.support.v7.widget.RecyclerView} does not allow adapter
216 changes while calculating a layout or scroll. (<a class=
217 "external-link" href=
218 "https://code.google.com/p/android/issues/detail?id=202046">Issue
219 202046</a>)
220 </li>
221
222 <li>Fixed a crash when calling {@link
223 android.support.v7.widget.RecyclerView.Adapter#notifyItemChanged
224 notifyItemChanged()} on an item that is out of view. (<a class=
225 "external-link" href=
226 "https://code.google.com/p/android/issues/detail?id=202136">Issue
227 202136</a>)
228 </li>
229
230 <li>Fixed a crash that occurs when {@link
231 android.support.v7.widget.RecyclerView.LayoutManager
232 RecyclerView.LayoutManager} adds and removes a view in the same
233 measurement pass. (<a class="external-link" href=
234 "https://code.google.com/p/android/issues/detail?id=193958">Issue
235 193958</a>)
236 </li>
237 </ul>
238 </dd>
239
240 <dt>
241 Changes for <a href=
242 "{@docRoot}tools/support-library/features.html#v7-mediarouter">v7
243 mediarouter library</a>:
244 </dt>
245
246 <dd>
247 <ul>
248 <li>Fixed a crash that occurs when calling {@link
249 android.support.v7.media.MediaRouter#getInstance
250 MediaRouter.getInstance()} on API level 17. (<a class="external-link"
251 href=
252 "https://code.google.com/p/android/issues/detail?id=180654">Issue
253 180654</a>)
254 </li>
255 </ul>
256 </dd>
257
258 <dt>
259 Changes for <a href=
260 "{@docRoot}tools/support-library/features.html#v17-leanback">v17
261 Leanback Library</a>:
262 </dt>
263
264 <dd>
265 <ul>
266 <li>Fixed an issue with {@code GridLayout.onAddFocusables()} that
267 caused the wrong item to be selected.
268 </li>
269
270 <li>Fixed issue with {@link
271 android.support.v17.leanback.app.GuidedStepFragment} actions
272 disappearing after an action was collapsed.
273 </li>
274 </ul>
275 </dd>
276
277 <dt>
278 Changes for <a href=
279 "{@docRoot}tools/support-library/features.html#design">Design Support
280 Library</a>:
281 </dt>
282
283 <dd>
284 <ul>
285 <li>Fixed a {@link android.support.design.widget.TabLayout} crash
286 caused by tab-pooling. (<a class="external-link" href=
287 "https://code.google.com/p/android/issues/detail?id=201827">Issue
288 201827</a>)
289 </li>
290
291 <li>Fixed a bug in {@link
292 android.support.design.widget.NavigationView} that caused the wrong
293 color to be selected. (<a class="external-link" href=
294 "https://code.google.com/p/android/issues/detail?id=201951">Issue
295 201951</a>)
296 </li>
297
298 <li>Fixed a bug where {@link
299 android.support.design.widget.FloatingActionButton#setBackgroundTintList
300 setBackgroundTintList()} was no longer able to change the background
301 color. (<a class="external-link" href=
302 "https://code.google.com/p/android/issues/detail?id=201873">Issue
303 201873</a>)
304 </li>
305
306 <li>Fixed an issue where {@link
307 android.support.design.widget.AppBarLayout} did not completely scroll
308 out of view when used with {@code android:fitsSystemWindows = “true”}.
309 (<a class="external-link" href=
310 "https://code.google.com/p/android/issues/detail?id=201822">Issue
311 201822</a>)
312 </li>
313
314 <li>Fixed an issue where {@code BottomSheetDialog} did not display
315 short content views correctly. (<a class="external-link" href=
316 "https://code.google.com/p/android/issues/detail?id=201793">Issue
317 201793</a>)
318 </li>
319
320 <li>Fixed an issue where {@code BottomSheetDialogFragment} moved
321 sporadically when content inside was changed. (<a class=
322 "external-link" href=
323 "https://code.google.com/p/android/issues/detail?id=202125">Issue
324 202125</a>)
325 </li>
326
327 <li>Fixed a crash in TextInputLayout counter <a class="external-link"
328 href=
329 "https://code.google.com/p/android/issues/detail?id=202051">link</a>
330 </li>
331
332 <li>Fixed a crash that occured when {@link
333 android.support.design.widget.TextInputLayout#getCounterMaxLength
334 TextInputLayout.getCounterMaxLength()} restored a saved state.
335 (<a class="external-link" href=
336 "https://code.google.com/p/android/issues/detail?id=202375">Issue
337 202375</a>)
338 </li>
339
340 <li>Fixed a {@code ClassCastException} that occurred when restoring a
341 {@link android.support.design.widget.CoordinatorLayout} using the
342 saved state of a view that was not a {@link
343 android.support.design.widget.CoordinatorLayout}.
344 </li>
345 </ul>
346 </dd>
347
348 <dt>
349 Changes for VectorDrawableCompat:
350 </dt>
351
352 <dd>
353 <ul>
354 <li>Fixed a bug where the wrong variable was read for {@code
355 android:tintMode}. (<a class="external-link" href=
356 "https://code.google.com/p/android/issues/detail?id=201907">Issue
357 201907</a>)
358 </li>
359 </ul>
360 </dd>
361 </dl>
362 </div>
363</div>
364<!-- end of collapsible section -->
365
366<div class="toggle-content closed">
367 <p id="rev23-2-0">
368 <a href="#" onclick="return toggleContent(this)"><img src=
369 "{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img"
370 alt="">Android Support Library, revision 23.2.0</a> <em>(February
371 2016)</em>
372 </p>
373
374 <div class="toggle-content-toggleme">
375 <dl>
376 <dt>
377 Changes for <a href="features.html#v4">v4 Support library</a>:
378 </dt>
379
380 <dd>
381 <ul>
382 <li>Added {@code MediaBrowserCompat} for {@link
383 android.media.browse.MediaBrowser} support, and {@code
384 MediaBrowserServiceCompat} for {@link
385 android.service.media.MediaBrowserService} support. This is useful
386 when connecting a media app’s background service with UI components,
387 and integrating with Android Auto and Android Wear without requiring
388 API level 21 or higher.
389 </li>
390
391 <li>The system now calls {@link
392 android.support.v4.app.FragmentActivity#onActivityResult onActivityResult()} for a
393 nested {@link android.support.v4.app.FragmentActivity}.
394 </li>
395 </ul>
396 </dd>
397
398 <dt>
399 Changes for <a href="features.html#v7-appcompat">v7 AppCompat
400 library</a>:
401 </dt>
402
403 <dd>
404 <ul>
405 <li>Added Night Mode functionality to API level 14 and higher. Switch
406 between <a href="{@docRoot}training/material/theme.html">Material
407 Light and Material Dark Themes</a> based on the time of day or
408 app-specific setting.
409 </li>
410
411 <li style="list-style: none; display: inline">
412 <ul>
413 <li>Day and night themes can be found here: {@code
414 &lt;sdk&gt;/extras/android/support/v7/appcompat/res/values/themes_daynight.xml}
415 </li>
416
417 <li>{@code AppCompatDelegate.setDefaultNightMode()}: sets the
418 app’s default mode by passing one of the following constants:
419 </li>
420
421 <li style="list-style: none; display: inline">
422 <ul>
423 <li>{@code MODE_NIGHT_AUTO}
424 </li>
425
426 <li>{@code MODE_NIGHT_NO}
427 </li>
428
429 <li>{@code MODE_NIGHT_YES}
430 </li>
431
432 <li>{@code MODE_NIGHT_FOLLOW_SYSTEM}
433 </li>
434 </ul>
435 </li>
436
437 <li>{@code AppCompatDelegate.setLocalNightMode()}: overrides
438 the night mode setting for the local app component.
439 </li>
440
441 <li>{@code AppCompatDelegate.getDefaultNightMode()}: returns
442 the default night mode.
443 </li>
444 </ul>
445 </li>
446 </ul>
447 </dd>
448
449 <dt>
450 Changes for <a href="features.html#v7-mediarouter">v7 mediarouter
451 library</a>:
452 </dt>
453
454 <dd>
455 <ul>
456 <li>{@link android.support.v7.app.MediaRouteControllerDialog} now
457 correctly applies custom app theme colors.
458 </li>
459 </ul>
460 </dd>
461
462 <dt>
463 Changes for <a href="features.html#design">Design support library</a>:
464 </dt>
465
466 <dd>
467 <ul>
468 <li>Added support for <a href=
469 "https://www.google.com/design/spec/components/bottom-sheets.html">bottom
470 sheets</a>. An interaction plugin, {@code
471 BottomSheetBehavior}, allows a child view of a {@link
472 android.support.design.widget.CoordinatorLayout} to act as
473 a bottom sheet. The base class, {@code BottomSheetCallback}, provides
474 callbacks to monitor bottom sheet events.
475 </li>
476 </ul>
477 </dd>
478
479 <dt>
480 Changes for the <a href="features.html#custom-tabs">CustomTabs support
481 library</a>:
482 </dt>
483
484 <dd>
485 <ul>
486 <li>
487 <a href=
488 "https://developer.chrome.com/multidevice/android/customtabs">Chrome
489 Custom Tabs</a> now allows apps to include a bottom bar with action
490 buttons in addition to the existing top action button.
491 </li>
492
493 <li>{@code CustomTabsIntent.Builder.addToolBarItem()}: adds an action
494 button to a custom tab. You can use this to add multiple buttons.
495 </li>
496
497 <li>{@code CustomTabsSession.setToolBarItem()}: updates the visuals
498 for toolbar items. This method will only succeed if it is given a
499 valid id and the browser session is in the foreground.
500 </li>
501 </ul>
502 </dd>
503
504 <dt>
505 Added VectorDrawable support library:
506 </dt>
507
508 <dd>
509 <ul>
510 <li>Added Classes:
511 </li>
512
513 <li style="list-style: none; display: inline">
514 <ul>
515 <li>{@code VectorDrawableCompat}
516 </li>
517
518 <li>{@code AnimatedVectorDrawableCompat}
519 </li>
520 </ul>
521 </li>
522
523 <li>Adds support for {@link
524 android.graphics.drawable.VectorDrawable} assets to apps
525 running on API level 7 or higher. {@link
526 android.graphics.drawable.AnimatedVectorDrawable} assets
527 are also supported on API level 11 or higher. Vector assets can be
528 considerably smaller than image assets and should help reduce app
529 size by reducing the amount of assets required to support multiple
530 device screens.
531 </li>
532
533 <li>This library is now a dependency of the <a href=
534 "features.html#v7-appcompat">v7 AppCompat library</a>, allowing
535 developers and <a href="features.html#v7-appcompat">AppCompat </a>
536 to easily use vector drawables. To use {@code
537 VectorDrawableCompat} within an {@link android.widget.ImageButton} or
538 {@link android.widget.ImageView}, use the {@code app:srcCompat} XML
539 attribute or {@code setImageResource()}
540 method.
541 </li>
542
543 <li>To keep referencing attribute IDs on API level 20 or
544 lower, add the following {@code appt} flag to your {@code
545 build,gradle} file:
546 </li>
547
548 <li style="list-style: none; display: inline">
549 <ul>
550 <li>If you are building with Android Plugin for Gradle 1.5.0 or
551 lower, add the following to your {@code build.gradle} file:
552 </li>
553
554 <li style="list-style: none; display: inline">
555 <pre>
556android {
557 defaultConfig {
558 // Stops the Gradle’s automatic rasterization of vectors
559 generatedDensities = []
560 }
561 // Flag that tells aapt to keep the attribute ids
562 aaptOptions {
563 additionalParameters "--no-version-vectors"
564 }
565}
566</pre>
567 </li>
568
569 <li>If you are building with Android Plugin for Gradle 2.0.0 or
570 higher, add the following to your {@code build.gradle} file:
571 </li>
572
573 <li style="list-style: none; display: inline">
574 <pre>
575android {
576 defaultConfig {
577 vectorDrawables.useSupportLibrary = true
578 }
579}
580</pre>
581 </li>
582 </ul>
583 </li>
584 </ul>
585 </dd>
586
587 <dt>
588 Changes for <a href="features.html#v17-leanback">v17 Leanback
589 Library</a>:
590 </dt>
591
592 <dd>
593 <ul>
594 <li>Added new capabilities to {@link android.support.v17.leanback.app.GuidedStepFragment},
595 which is a component that guides users through a decision or series of decisions:
596 </li>
597
598 <li style="list-style: none; display: inline">
599 <ul>
600 <li>Added button actions to {@link
601 android.support.v17.leanback.widget.GuidedAction}:
602 </li>
603
604 <ul>
605 <li>{@code GuidedStepFragment.setButtonActions()}: sets a list of
606 {@link android.support.v17.leanback.widget.GuidedAction} buttons that
607 the user may select from the Actions view.
608 </li>
609 </ul>
610 </li>
611
612 <li>Description fields are now editable:
613 </li>
614
615 <li style="list-style: none; display: inline">
616 <ul>
617 <li>{@code GuidedAction.Builder.descriptionEditable()}: when passing
618 {@code true}, sets the action’s description to be editable.
619 </li>
620
621 <li>{@code GuidedAction.getEditDescription()}: returns the editable
622 description as a {@code CharSequence}.
623 </li>
624 </ul>
625 </li>
626
627 <li>Added drop-down lists of sub-actions:
628 </li>
629
630 <li style="list-style: none; display: inline">
631 <ul>
632 <li>{@code GuidedAction.setSubActions()}: sets a {@link
633 android.support.v17.leanback.widget.GuidedAction} list as a drop-down
634 menu of sub-actions.
635 </li>
636 </ul>
637 </li>
638 </ul>
639
640 <li>Added the {@code GuidedDatePickerAction} widget for {@link
641 android.widget.DatePicker} functionality:
642 </li>
643
644 <li style="list-style: none; display: inline">
645 <ul>
646 <li>The date is selected using year, month, and day columns and has a
647 customizable range.
648 </li>
649
650 <li>{@code GuidedDatePickerAction.Builder}: builder class for the {@code
651 GuidedDatePickerAction} object.
652 </li>
653
654 <li>{@code GuidedDatePickerAction.Builder.datePickerFormat(String
655 datePickerFormat)}: set the desired date format by passing the
656 appropriate three-character {@code String}, e.g. {@code “YMD”} or {@code
657 “MDY”}. Alternatively, use the {@code datePickerFormat} XML attribute.
658 </li>
659 </ul>
660 </li>
661 </ul>
662 </dd>
663 </dl>
664
665 <dl>
666 <dt>
667 Changes for <a href="features.html#v7-recyclerview">v7 RecyclerView
668 library</a>:
669 </dt>
670
671 <dd>
672 <ul>
673 <li>{@link android.support.v7.widget.RecyclerView} now has an opt-in
674 feature called <em>AutoMeasure</em> which allows {@link
675 android.support.v7.widget.RecyclerView.LayoutManager} to easily wrap
676 content or handle various measurement specifications provided by the
677 parent of the {@link android.support.v7.widget.RecyclerView}. It
678 supports all existing animation capabilities of the {@link
679 android.support.v7.widget.RecyclerView}.
680 </li>
681
682 <li style="list-style: none; display: inline">
683 <ul>
684 <li>If you have a custom {@link
685 android.support.v7.widget.RecyclerView.LayoutManager},
686 call {@code setAutoMeasureEnabled(true)} to start using the new
687 AutoMeasure API. All built-in {@link
688 android.support.v7.widget.RecyclerView.LayoutManager} objects
689 enable auto-measure by default.
690 </li>
691
692 <li>{@link android.support.v7.widget.RecyclerView.LayoutManager}
693 no longer ignores some {@link
694 android.support.v7.widget.RecyclerView.LayoutParams} settings,
695 such as {@code MATCH_PARENT} in the scroll direction.
696 <p class="note">
697 <strong>Note:</strong> These lifted restrictions may cause
698 unexpected behavior in your layouts. Make sure you specify
699 the correct layout parameters.
700 </p>
701 </li>
702 </ul>
703 </li>
704
705 <li>When updating a {@link
706 android.support.v7.widget.RecyclerView.ViewHolder} with payload
707 information, {@link android.support.v7.widget.DefaultItemAnimator}
708 now disables change animations.
709 </li>
710
711 <li>You can now modify the {@link
712 android.support.v7.widget.helper.ItemTouchHelper} escape velocity to
713 control swipe sensitivity. To make it easier or harder to swipe,
714 override {@code getSwipeEscapeVelocity(float defaultValue)} and modify {@code defaultValue}.
715 </li>
716 </ul>
717 </dd>
718 </dl>
719 </div>
720</div>
721<!-- end of collapsible section -->
722
723<div class="toggle-content closed">
724 <p id="rev23-1-1"><a href="#" onclick="return toggleContent(this)">
725 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
726/>Android Support Library, revision 23.1.1</a> <em>(November 2015)</em>
727 </p>
728 <div class="toggle-content-toggleme">
729 <dl>
730 <dt>Changes for <a href="features.html#v7-recyclerview">v7 recyclerview library:</a></dt>
731 <dd>
732 <ul>
733 <li>Fixed a crash that occurs when you perform a swipe-to-dismiss action that the
734 {@code ItemTouchHelper} utility class provides, and then add an item.
735 (<a href="http://b.android.com/190500">Issue 190500</a>)</li>
736 </ul>
737 </dd>
738 <dt>Changes for <a href="features.html#v7-preference">v7 preference library:</a></dt>
739 <dd>
740 <ul>
741 <li>Fixed an issue with ProGuard usage.
742 (<a href="http://b.android.com/183261">Issue 183261</a>)</li>
743 </ul>
744 </dd>
745
746 <dt>Changes for <a href="features.html#v17-leanback">v17 Leanback Support library:</a></dt>
747 <dd>
748 <ul>
749 <li>Fixed a number of internal issues in this library.</li>
750 </ul>
751 </dd>
752 <dt>Changes for <a href="features.html#design">Design Support library:</a></dt>
753 <dd>
754 <ul>
755 <li>Added the <code>getHeaderView</code> method to the <code>NavigationView</code> class.</li>
756 <li>Fixed a transparent background issue for a <code>FloatingActionButton</code> object on
757 devices running Android 4.0 (API level 15) and lower.
758 (<a href="http://b.android.com/183315">Issue 183315</a>)</li>
759 </ul>
760 </dd>
761 </dl>
762
763 </div>
764</div> <!-- end of collapsible section -->
765
766
767
768<div class="toggle-content closed">
769 <p id="rev23-1-0"><a href="#" onclick="return toggleContent(this)">
770 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
771/>Android Support Library, revision 23.1.0</a> <em>(October 2015)</em>
772 </p>
773 <div class="toggle-content-toggleme">
774 <dl>
775 <dt>Changes for <a href="features.html#v4">v4 Support library:</a></dt>
776 <dd>
777 <ul>
778 <li>Added <code>OnScrollChangedListener</code> interface support to the
779 <code>NestedScrollView</code> widget. It
780 allows you to receive callbacks when the scroll X or Y positions change.</li>
781 <li>Added a <code>MediaButtonReceiver</code> class to forward received playback controls
782 to a service that’s managing the <code>MediaSessionCompat</code> class. The
783 <code>MediaSessionCompat</code> class has a
784 constructor that can automatically find a media button receiver in the manifest. A
785 media button receiver is a key part to <a href=
786 "http://developer.android.com/training/managing-audio/volume-playback.html#PlaybackControls">handling
787 playback controls</a> from hardware or bluetooth controls.</li>
788 </ul>
789 </dd>
790
791
792 <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library:</a></dt>
793 <dd>
794 <ul>
795 <li>Added material design <code>Seekbar</code> and <code>ImageButton</code> widgets.</li>
796 <li>Updated the <code>ImageView</code> widget to support the tint feature.</li>
797 <li>Updated the look-and-feel of the <code>SwitchCompat</code> widget.</li>
798 </ul>
799 </dd>
800
801 <dt>Changes for <a href="features.html#v7-mediarouter">v7 mediarouter library:</a></dt>
802 <dd>
803 <ul>
804 <li>Added the following features to the <code>MediaRouteChooserDialog</code> class:</li>
805 <ul>
806 <li>Displays a loading page while discovering media route providers.</li>
807 <li>Includes a device type icon for easier device identification.</li>
808 <li>Sorts the routes according to frequency of use in the current app.</li>
809 <li>Supports landscape mode.</li>
810 </ul>
811 </ul>
812 <ul>
813 <li>Added the following features to the <code>MediaRouteControllerDialog</code> class:</li>
814 <ul>
815 <li>Recognizes screen casting and provides a proper description.</li>
816 <li>Supports various album art sizes and aspect ratios, and loads the art asynchronously.</li>
817 <li>Automatically selects the content color based on the primary color of the app.</li>
818 <li>Adjusts the dialog layout based on available screen space on the device.</li>
819 <li>Supports landscape mode.</li>
820 </ul>
821 </ul>
822 </dd>
823
824 <dt>Changes for <a href="features.html#v7-palette">v7 palette library:</a></dt>
825 <dd>
826 <ul>
827 <li>Added the <code>setRegion()</code> method to support extracting color from a specific
828 region of a <code>Bitmap</code> object.</li>
829 </ul>
830 </dd>
831
832 <dt>Changes for <a href="features.html#v7-recyclerview">v7 recyclerview library:</a></dt>
833 <dd>
834 <ul>
835 <li>Added an improved animation API to the <code>ItemAnimator</code> class for better
836 customizations:</li>
837 <ul>
838 <li>Change animations no longer enforce two copies of the <code>ViewHolder</code> object,
839 which enables item content animations. Also, the <code>ItemAnimator</code> object
840 decides whether it wants to reuse the same <code>ViewHolder</code> object or create a
841 new one.</li>
842 <li>The new information record API gives the <code>ItemAnimator</code> class the flexibility
843 to collect data at the correct point in the layout lifecycle. This information is later
844 passed into the animate callbacks.</li>
845 </ul>
846 </ul>
847 <ul>
848 <li>Provided an easy transition plan for this backward-incompatible API change:</li>
849 <ul>
850 <li>If you’ve previously extended the <code>ItemAnimator</code> class, you can change
851 your base class to <code>SimpleItemAnimator</code> and your code should work as before.
852 The <code>SimpleItemAnimator</code> class provides the old API by wrapping the new API.</li>
853 <li>Some methods were removed from the <code>ItemAnimator</code> class. The following
854 code will no longer compile:</li>
855 <pre>recyclerView.getItemAnimator().setSupportsChangeAnimations(false)</pre>
856 <p>You can replace it with:</p>
857 <pre>
858ItemAnimator animator = recyclerView.getItemAnimator();
859if (animator instanceof SimpleItemAnimator) {
860 ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
861}
862 </pre>
863 </ul>
864 </ul>
865 </dd>
866
867
868 <dt>Changes for <a href="features.html#v7-preference">v7</a>,
869 <a href="features.html#v14-preference">v14</a>, and
870 <a href="features.html#v17-preference">v17</a> Preference Support library:</dt>
871 <dd>
872 <ul>
873 <li>Removed APIs for controlling <code>EditText</code> dialogs.</li>
874 </ul>
875 </dd>
876
877 <dt>Changes for <a href="features.html#v17-leanback">v17 Leanback Support library:</a></dt>
878 <dd>
879 <ul>
880 <li>Added a version of the <code>GuidedStepFragment</code> class for the Support library
881 (extends <code>android.support.v4.app.Fragment</code>), and improved animations and
882 transitions.</li>
883 <li>Updated the <code>GuidedStepFragment</code> class so it can be placed on top of
884 existing content.</li>
885 <li>Added the ability to annotate different types of search completions to the
886 <code>SearchFragment</code> class.</li>
887 <li>Added staggered slide transition support to the <code>VerticalGridFragment</code>
888 class.</li>
889 </ul>
890 </dd>
891
892
893 <dt>Changes for <a href="features.html#design">Design Support library:</a></dt>
894 <dd>
895 <ul>
896 <li>Added <a href=
897 "https://www.google.com/design/spec/components/text-fields.html#text-fields-character-counter">
898 character counting</a> support to the <code>TextInputLayout</code> widget.</li>
899 <li>Added edge snapping support to the <code>AppBarLayout</code> class by adding the
900 <code>SCROLL_FLAG_SNAP</code> constant. When scrolling ends, if the view is only
901 partially visible, the view is snapped and scrolled to its closest edge.</li>
902 <li>Added support for custom views to the <code>NavigationView</code> class by using the
903 <code>app:actionLayout</code> attribute or <code>MenuItemCompat.setActionView()</code>
904 method.</li>
905 </ul>
906 </dd>
907
908
909 <dt>Changes for <a href="features.html#custom-tabs">Custom Tabs Support library:</a></dt>
910 <dd>
911 <ul>
912 <li>Added the <code>enableUrlBarHiding()</code> method to the <code>CustomTabsIntent</code>
913 class. It lets the client customize whether the URL bar should be hidden automatically
914 on scroll down.</li>
915 <li>Added the <code>setActionButton()</code> method to the <code>CustomTabsSession</code>
916 class. It lets the client
917 change the icon for a custom action button in an already launched custom tab.</li>
918 <li>Added the <code>TAB_SHOWN</code> and <code>TAB_HIDDEN</code> constants as new events
919 for the <code>onNavigationEvent</code> method of the <code>CustomTabsCallback</code>
920 class.</li>
921 </ul>
922 </dd>
923
924 </dl>
925
926 </div>
927</div> <!-- end of collapsible section -->
928
929
930<div class="toggle-content closed">
931 <p id="rev23-0-1"><a href="#" onclick="return toggleContent(this)">
932 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
933/>Android Support Library, revision 23.0.1</a> <em>(September 2015)</em>
934 </p>
935 <div class="toggle-content-toggleme">
936 <dl>
937 <dt>Changes for <a href="features.html#v7-preference">v7</a> and
938 <a href="features.html#v14-preference">v14</a> Preference Support library:</dt>
939 <dd>
940 <ul>
941 <li>Added the material design layout and style files.
942 (<a href="http://b.android.com/183376">Issue 183376</a>)</li>
943 </ul>
944 </dd>
945
946
947 <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library:</a></dt>
948 <dd>
949 <ul>
950 <li>Fixed crash issues for the {@link android.app.Fragment} class by limiting the use of
951 hardware layers to Android 4.1 (API level 16) and higher.
952 (<a href="http://b.android.com/183896">Issue 183896</a>)</li>
953 <li>Fixed an issue where hardware buttons did not work when an activity had set the
954 {@link android.widget.Toolbar} class to act as the
955 {@link android.app.ActionBar} by using the <code>setSupportActionBar()</code> method.
956 (<a href="http://b.android.com/183334">Issue 183334</a>)</li>
957 <li>Updated the {@link android.support.v7.app.AppCompatDialogFragment} class so it
958 no longer throws the {@code Windows feature must be requested before adding content}
959 error.
960 (<a href="http://b.android.com/183186">Issue 183186</a>)</li>
961 </ul>
962 </dd>
963
964
965 <dt>Changes for <a href="features.html#design">Design Support library:</a></dt>
966 <dd>
967 <ul>
968 <li>Fixed the
969 {@link android.support.design.widget.AppBarLayout} class so it now draws correctly after
970 rotation.
971 (<a href="http://b.android.com/183109">Issue 183109</a>)</li>
972 <li>Fixed the
973 {@link android.support.design.widget.TabLayout} class so it now behaves correctly when a
974 user clicks after a swipe.
975 (<a href="http://b.android.com/183123">Issue 183123</a>)</li>
976 </ul>
977 </dd>
978
979
980 <dt>Changes for <a href="features.html#custom-tabs">Custom Tabs Support library:</a></dt>
981 <dd>
982 <ul>
983 <li>Lowered the
984 <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>minSdkVersion</code></a>
985 value from 16 to 15 for version support.</li>
986 <li>Added a way to generate a
987 {@link android.support.customtabs.CustomTabsSessionToken} from an intent.</li>
988 </ul>
989 </dd>
990
991 </dl>
992
993 </div>
994</div> <!-- end of collapsible section -->
995
996
997<div class="toggle-content closed">
998 <p id="rev23"><a href="#" onclick="return toggleContent(this)">
999 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogarf0a340e2015-08-05 18:02:17 -07001000/>Android Support Library, revision 23</a> <em>(August 2015)</em>
1001 </p>
1002 <div class="toggle-content-toggleme">
1003 <dl>
1004 <dt>Added new support libraries:</a></dt>
1005 <dd>
1006 <ul>
1007 <li><a href="features.html#custom-tabs">Custom Tabs Support library</a></li>
1008 <li><a href="features.html#percent">Percent Support library</a></li>
1009 <li><a href="features.html#recommendation">App Recommendation Support library for TV</a></li>
1010 <li><a href="features.html#v7-preference">v7 Preference Support library</a></li>
1011 <li><a href="features.html#v14-preference">v14 Preference Support library</a></li>
1012 <li><a href="features.html#v17-preference">v17 Preference Support library for TV</a></li>
1013 </ul>
1014 </dd>
1015
1016 </dl>
Joe Fernandezc45bd692015-08-17 14:21:12 -07001017
1018 <p>For a complete list of the Support Library changes, see the
1019 <a href="{@docRoot}sdk/support_api_diff/23/changes.html">Support
1020 Library API Differences Report</a>. </p>
1021
Rich Slogarf0a340e2015-08-05 18:02:17 -07001022 </div>
1023</div> <!-- end of collapsible section -->
1024
1025
1026
1027<div class="toggle-content closed">
Trevor Johns682c24e2016-04-12 10:13:47 -07001028 <p id="rev22-2-1"><a href="#" onclick="return toggleContent(this)">
1029 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogar1f6a5f82015-07-27 17:57:55 -07001030/>Android Support Library, revision 22.2.1</a> <em>(July 2015)</em>
1031 </p>
1032 <div class="toggle-content-toggleme">
1033 <dl>
1034 <dt>Changes for <a href="features.html#design">Design Support library:</a></dt>
1035 <dd>
1036 <ul>
1037 <li>Added the {@code hide()} and {@code show()} methods to the
1038 {@link android.support.design.widget.FloatingActionButton} class for programmatic
1039 triggering of animations. </li>
1040 <li>Added the {@code LENGTH_INDEFINITE} constant to the
1041 {@link android.support.design.widget.Snackbar} class for showing a snackbar
1042 until it is dismissed or another snackbar is shown. Also, added the
1043 {@link android.support.design.widget.Snackbar#setActionTextColor(int)} and
1044 {@link android.support.design.widget.Snackbar#setActionTextColor(ColorStateList)}
1045 methods. </li>
1046 <li>Added the {@code getSelectedTabPosition()} method to the
1047 {@link android.support.design.widget.TabLayout} class for retrieving the currently
1048 selected tab. </li>
1049 <li>Provided a fully fluent API for the
1050 {@link android.support.v7.app.NotificationCompat.MediaStyle} class for method
1051 chaining. </li>
1052 <li>Added convenience methods to the
1053 {@link android.support.v7.widget.RecyclerView} for batch insertion of items. </li>
1054 </ul>
1055 </dd>
1056 </dl>
1057
1058 <p>For a complete list of the Support Library changes, see the
1059 <a href="{@docRoot}sdk/support_api_diff/22.2.0/changes.html">Support
1060 Library API Differences Report</a>. </p>
1061
Rich Slogar1f6a5f82015-07-27 17:57:55 -07001062 </div>
1063</div> <!-- end of collapsible section -->
1064
1065
1066
1067<div class="toggle-content closed">
1068 <p id="rev21"><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001069 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogarc9e841e2015-05-06 16:30:47 -07001070/>Android Support Library, revision 22.2.0</a> <em>(May 2015)</em>
Rich Slogar1c6c22d2015-04-13 14:01:04 -07001071 </p>
1072 <div class="toggle-content-toggleme">
1073 <dl>
Rich Slogarc9e841e2015-05-06 16:30:47 -07001074 <dt>Added <a href="features.html#design">Design Support library:</a></dt>
1075 <dd>
1076 <ul>
1077 <li>Added {@link android.support.design.widget.TextInputLayout} for showing
1078 {@link android.widget.EditText} hint and error text as floating labels.
1079 </li>
1080 <li>Added {@link android.support.design.widget.FloatingActionButton} for implementing a
1081 primary action on your interface as a
1082 floating action button, supporting either default or mini sizes.
1083 </li>
1084 <li>Added {@link android.support.design.widget.Snackbar} for providing lightweight
1085 feedback with an optional action in an animated snackbar.
1086 </li>
1087 <li>Added {@link android.support.design.widget.TabLayout} for implementing fixed and
1088 scrollable
1089 <a href="{@docRoot}design/building-blocks/tabs.html">tabs</a> as well as easy
1090 integration with
1091 {@link android.support.v4.view.ViewPager}.
1092 </li>
1093 <li>Added {@link android.support.design.widget.NavigationView} for implementing
1094 <a href="{@docRoot}design/patterns/navigation-drawer.html">navigation drawer</a>
1095 contents, including the ability to inflate menu items via a
1096 <a href="{@docRoot}guide/topics/resources/menu-resource.html">Menu Resource</a>.
1097 </li>
1098 <li>Added {@link android.support.design.widget.CoordinatorLayout}, a general purpose
1099 layout, used for building dependencies between
1100 sibling views and allowing easy scrolling reactions between components via
1101 {@link android.support.design.widget.CoordinatorLayout.Behavior}. Many of the Design
1102 Library components rely on being a child of a
1103 {@link android.support.design.widget.CoordinatorLayout}.
1104 </li>
1105 <li>Added {@link android.support.design.widget.AppBarLayout}, a container for a
1106 {@link android.widget.Toolbar}
1107 and other views (such as {@link android.support.design.widget.TabLayout}) for
1108 reacting to scrolling events by scrolling off the screen, becoming visible in reaction
1109 to a downward scroll, or collapsing/uncollapsing before scrolling off/onto the screen.
1110 </li>
1111 <li>Added {@link android.support.design.widget.CollapsingToolbarLayout} for controlling
1112 how a {@link android.widget.Toolbar} collapses. A toolbar may collapse by:
1113 pinning components to the top of the screen while it collapses, introducing
1114 parallax scrolling of components such as an {@link android.widget.ImageView},
1115 or adding a content scrim color when the view is partially collapsed.
1116 </li>
1117 </ul>
1118 </dt>
1119
1120
1121
1122 <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
1123 <dd>
1124 <ul>
1125
1126 <li>Added the
1127{@link android.support.v4.view.accessibility.AccessibilityEventCompat#getContentChangeTypes getContentChangeTypes()}
1128 and
1129{@link android.support.v4.view.accessibility.AccessibilityEventCompat#setContentChangeTypes setContentChangeTypes()}
1130 methods and related change type
1131 fields to the
1132 {@link android.support.v4.view.accessibility.AccessibilityEventCompat}
1133 class for accessibility event handling.
1134 </li>
1135 <li>Added the
1136{@link android.support.v4.media.session.PlaybackStateCompat#getActiveQueueItemId getActiveQueueItemId()},
1137{@link android.support.v4.media.session.PlaybackStateCompat#getCustomActions getCustomActions()},
1138 and
1139 {@link android.support.v4.media.session.PlaybackStateCompat#getExtras getExtras()}
1140 methods with related state fields to the
1141 {@link android.support.v4.media.session.PlaybackStateCompat} class for
1142 getting custom actions from the queue.
1143 </li>
1144 <li>Added the
1145{@link android.support.v4.media.session.PlaybackStateCompat.Builder#addCustomAction addCustomAction()},
Rich Slogarc9e841e2015-05-06 16:30:47 -07001146{@link android.support.v4.media.session.PlaybackStateCompat.Builder#setActiveQueueItemId setActiveQueueItemId()},
1147 and
1148 {@link android.support.v4.media.session.PlaybackStateCompat.Builder#setExtras setExtras()}
1149 methods to the
1150 {@link android.support.v4.media.session.PlaybackStateCompat.Builder} class for adding
Rich Slogar1f6a5f82015-07-27 17:57:55 -07001151 custom actions to a playback state.
Rich Slogarc9e841e2015-05-06 16:30:47 -07001152 </li>
1153 <li>Added the
1154{@link android.support.v4.media.session.PlaybackStateCompat.CustomAction#fromCustomAction fromCustomAction()} and
1155{@link android.support.v4.media.session.PlaybackStateCompat.CustomAction#getCustomAction getCustomAction()} methods
1156 to the
1157 {@link android.support.v4.media.session.PlaybackStateCompat.CustomAction} class
1158 for getting custom actions from the queue.
1159 </li>
1160 <li>Added the {@link android.support.v4.view.ViewCompat#isAttachedToWindow isAttachedToWindow()},
1161 {@link android.support.v4.view.ViewCompat#offsetLeftAndRight offsetLeftAndRight()}, and
1162 {@link android.support.v4.view.ViewCompat#offsetTopAndBottom offsetTopAndBottom()}
1163 methods to the {@link android.support.v4.view.ViewCompat} class for working with views.
1164 </li>
1165 <li>Added the {@link android.support.v4.view.ViewPager#addOnPageChangeListener addOnPageChangeListener()},
1166 {@link android.support.v4.view.ViewPager#clearOnPageChangeListeners clearOnPageChangeListeners()}, and
1167 {@link android.support.v4.view.ViewPager#removeOnPageChangeListener removeOnPageChangeListener()}
1168 methods to the {@link android.support.v4.view.ViewPager} class for responding to page
1169 changes.
1170 <p>Deprecated the
1171 {@link android.support.v4.view.ViewPager#setOnPageChangeListener setOnPageChangeListener()} method.</p>
1172 </li>
1173 <li>Added the
1174{@link android.support.v4.view.ViewParentCompat#notifySubtreeAccessibilityStateChanged notifySubtreeAccessibilityStateChanged()} method to
1175 the {@link android.support.v4.view.ViewParentCompat} class for notifying a view parent
1176 that the accessibility state of one of its descendants has changed.
1177 </li>
1178 <li>Added the {@link android.support.v4.view.ViewPropertyAnimatorCompat#translationZ translationZ()},
1179 {@link android.support.v4.view.ViewPropertyAnimatorCompat#translationZBy translationZBy()},
1180 {@link android.support.v4.view.ViewPropertyAnimatorCompat#z z()}, and
1181 {@link android.support.v4.view.ViewPropertyAnimatorCompat#zBy zBy()}
1182 methods to the {@link android.support.v4.view.ViewPropertyAnimatorCompat} class for
1183 adding animation.
1184 </li>
1185 </ul>
1186 </dd>
1187
1188
1189
1190<dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library</a>:</dt>
1191 <dd>
1192<ul>
1193 <li>Added the
1194 {@link android.support.v7.app.AppCompatActivity#onWindowStartingSupportActionMode onWindowStartingSupportActionMode()}
1195 method to the
1196 {@link android.support.v7.app.AppCompatActivity},
1197 {@link android.support.v7.app.AppCompatCallback}, and
1198 {@link android.support.v7.app.AppCompatDialog} classes for handling action modes
1199 started from the current window.
1200 </li>
1201
1202 <li>Added the
1203{@link android.support.v7.app.AppCompatDelegate#isHandleNativeActionModesEnabled isHandleNativeActionModesEnabled()} and
1204{@link android.support.v7.app.AppCompatDelegate#setHandleNativeActionModesEnabled setHandleNativeActionModesEnabled()}
1205 methods to the
1206 {@link android.support.v7.app.AppCompatDelegate} class for handling native action modes.
1207 </li>
1208 </ul>
1209 </dd>
1210
Rich Slogar1f6a5f82015-07-27 17:57:55 -07001211 <p>For a complete list of the Support Library changes, see the
1212 <a href="{@docRoot}sdk/support_api_diff/22.2.0/changes.html">Support
1213 Library API Differences Report</a>. </p>
Rich Slogarc9e841e2015-05-06 16:30:47 -07001214
1215 </dl>
1216
1217 </div>
1218</div> <!-- end of collapsible section -->
1219
1220
1221
1222
Rich Slogarc9e841e2015-05-06 16:30:47 -07001223<div class="toggle-content closed">
1224 <p id="rev21"><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001225 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogarc9e841e2015-05-06 16:30:47 -07001226/>Android Support Library, revision 22.1.0</a> <em>(April 2015)</em>
1227 </p>
1228
1229
1230
1231 <div class="toggle-content-toggleme">
1232 <dl>
1233
1234
1235 <div class="toggle-content-toggleme">
1236 <dl>
1237 <dt>Changes for <a href="features.html#annotations">annotations library:</a></dt>
1238 <dd>
1239 <ul>
1240 <li>Added the Annotations library to provide support for enhanced code inspections.
1241 Annotations are added as metadata tags that you attach to variables, parameters,
1242 and return values to inspect method return values, passed parameters, and local
1243 variables and fields.
1244 </li>
1245 </ul>
1246 </dd>
1247
1248
Rich Slogar1c6c22d2015-04-13 14:01:04 -07001249 <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
1250 <dd>
1251 <ul>
1252
1253 <li>Added the {@link android.support.v4.graphics.ColorUtils ColorUtils} class
1254 to provide a set of color-related utility methods.
1255 </li>
1256 <li>Added the {@link android.support.v4.graphics.drawable.DrawableCompat#unwrap unwrap()} and
1257 {@link android.support.v4.graphics.drawable.DrawableCompat#wrap wrap()} methods to the
1258 {@link android.support.v4.graphics.drawable.DrawableCompat} class , allowing you to use
1259 {@link android.support.v4.graphics.drawable.DrawableCompat#setTint setTint()},
1260 {@link android.support.v4.graphics.drawable.DrawableCompat#setTintList setTintList()},
1261 and {@link android.support.v4.graphics.drawable.DrawableCompat#setTintMode setTintMode()}
1262 on all API level 4 or higher devices.
1263 </li>
1264 <li>Added the {@link android.support.v4.os.TraceCompat} class to
1265 write trace events to the system trace buffer, which can then be collected and
1266 visualized using the <a href="{@docRoot}tools/help/systrace.html">Systrace</a> tool.
1267 </li>
1268 <li>Added the {@link android.support.v4.util.CircularIntArray} class
1269 to create circular integer array data structures.
1270 </li>
1271 <li>Added the {@link android.support.v4.util.CircularArray#clear clear()},
1272 {@link android.support.v4.util.CircularArray#removeFromStart removeFromStart()},
1273 and {@link android.support.v4.util.CircularArray#removeFromEnd removeFromEnd()}
1274 methods to the {@link android.support.v4.util.CircularArray} class. Also, changed the
1275 existing methods in this class to be non-final.
1276 </li>
1277 <li>Added the {@link android.support.v4.view.InputDeviceCompat}
1278 as a helper class to access data in the
1279 {@link android.support.v4.view.InputDeviceCompat} class.
1280 </li>
1281 <li>Added the {@link android.support.v4.view.LayoutInflaterCompat}
1282 class as a helper class to access data in the
1283 {@link android.support.v4.view.LayoutInflaterCompat} class
1284 and added the {@link android.support.v4.view.LayoutInflaterFactory} interface.
1285 </li>
1286 <li>Added classes, methods, and interfaces to support nested scrolling.
1287 <ul>
1288 <li>Added the {@link android.support.v4.view.NestedScrollingChildHelper}
1289 and {@link android.support.v4.view.NestedScrollingParentHelper}
1290 helper classes for implementing nested scrolling parent and child views.</li>
1291 <li>Added the {@link android.support.v4.view.NestedScrollingChild}
1292 interface to be implemented by {@link android.view.View} subclasses.</li>
1293 <li>Added the {@link android.support.v4.view.NestedScrollingParent}
1294 and {@link android.support.v4.view.ScrollingView} interfaces to support
1295 scrolling operations and provide scroll related APIs.</li>
1296 <li>Added the
1297 {@link android.support.v4.view.ViewGroupCompat#getNestedScrollAxes
1298 getNestedScrollAxes()} method to the {@link android.support.v4.view.ViewGroupCompat}
1299 class.</li>
1300 <li>Added methods to the {@link android.support.v4.view.ViewParentCompat} class to
1301 support nested scrolling.
1302 </li>
1303 <li>Added the {@link android.support.v4.widget.NestedScrollView}
1304 class to support nested scrolling parent and child on both new and old versions of
1305 Android.
1306 </li>
1307 </ul>
1308 </li>
1309 <li>Added methods and constants to the {@link android.support.v4.view.MotionEventCompat}
1310 class for getting axis values and event source.
1311 </li>
1312 <li>Updated the {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}
1313 class to add methods for errors, content invalidation and labels.
1314 </li>
Rich Slogarc9e841e2015-05-06 16:30:47 -07001315 <li>Added the following interpolation classes for animation:
Rich Slogar1c6c22d2015-04-13 14:01:04 -07001316 {@link android.support.v4.view.animation.FastOutLinearInInterpolator},
1317 {@link android.support.v4.view.animation.FastOutSlowInInterpolator},
1318 {@link android.support.v4.view.animation.LinearOutSlowInInterpolator},
1319 {@link android.support.v4.view.animation.LinearOutSlowInInterpolator}, and
1320 {@link android.support.v4.view.animation.PathInterpolatorCompat}.
1321 </li>
1322 <li>Added the {@link android.support.v4.widget.Space} class to create gaps between
1323 components in general purpose layouts. This class is deprecated in the gridlayout library.
1324 </li>
1325 <li>Added the {@link android.support.v4.widget.TextViewCompat} class for accessing
1326 features in a {@link android.widget.TextView}.
1327 </li>
1328 <li>Added a displacement parameter to the
1329 {@link android.support.v4.widget.EdgeEffectCompat#onPull onPull()} method in the
1330 {@link android.support.v4.widget.EdgeEffectCompat} class.
1331 </li>
1332
1333 </ul>
1334 </dd>
1335
1336
1337 <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library</a>:</dt>
1338 <dd>
1339 <ul>
1340 <li>Added tint support to appcompat widgets, including
1341 {@link android.support.v7.widget.AppCompatAutoCompleteTextView},
1342 {@link android.support.v7.widget.AppCompatButton},
1343 {@link android.support.v7.widget.AppCompatCheckBox},
1344 {@link android.support.v7.widget.AppCompatCheckedTextView},
1345 {@link android.support.v7.widget.AppCompatEditText},
1346 {@link android.support.v7.widget.AppCompatMultiAutoCompleteTextView},
1347 {@link android.support.v7.widget.AppCompatRadioButton},
1348 {@link android.support.v7.widget.AppCompatRatingBar},
1349 {@link android.support.v7.widget.AppCompatSpinner}, and
1350 {@link android.support.v7.widget.AppCompatTextView}.
1351 </li>
1352 <li>Updated the {@link android.support.v7.app.AppCompatActivity} as the base
1353 class for activities that use the support library action bar features. This class
1354 replaces the deprecated {@link android.support.v7.app.ActionBarActivity}.
1355 </li>
1356 <li>Added the
1357 {@link android.support.v7.app.AppCompatCallback} interface
1358 to be implemented for AppCompat to be able to perform callbacks.
1359 </li>
1360 <li>Added the
1361 {@link android.support.v7.app.AppCompatDelegate} abstract class
1362 as a delegate you can use to extend AppCompat's support to any activity.
1363 </li>
1364 <li>Added the
1365 {@link android.support.v7.app.AppCompatDialog} class
1366 as the base class for AppCompat themed dialogs.
1367 </li>
1368 <li>Added the spinner style
1369 {@link android.support.v7.app.AlertDialog} and
1370 {@link android.support.v7.app.AlertDialog.Builder} classes to provide an AppCompat
1371 themed {@link android.app.AlertDialog}.
1372 </li>
1373 <li>Added the {@link android.support.v7.graphics.Palette.Builder} class
1374 for generating {@link android.support.v7.graphics.Palette} instances.
1375 <ul>
1376 <li>Added the
1377 {@link android.support.v7.graphics.Palette#from}
1378 method to the {@link android.support.v7.graphics.Palette} class to
1379 start generating a Palette with the returned
1380 {@link android.support.v7.graphics.Palette.Builder} instance.
1381 </li>
1382 <li>Deprecated the {@link android.support.v7.graphics.Palette#generate generate()} and
1383 {@link android.support.v7.graphics.Palette#generateAsync generateAsync()} methods.
1384 </li>
1385 </ul>
1386 </li>
1387
1388 <li>Added the
1389 {@link android.support.v7.widget.GridLayout.Spec#getAbsoluteAlignment
1390 getAbsoluteAlignment()} method to the {@link android.support.v7.widget.GridLayout.Spec}
1391 class.
1392 </li>
1393 <li>Deprecated use of <code>app:theme</code> for styling
1394 {@link android.support.v7.widget.Toolbar}. You can now use
1395 <code>android:theme</code> for toolbars on all API level 7 and higher devices and
1396 <code>android:theme</code> support for all widgets on API level 11 and higher devices.
1397 </li>
1398 </ul>
1399 </dd>
1400
1401
1402 <dt>Changes for <a href="features.html#v17-leanback">v17 leanback library</a>:</dt>
1403 <dd>
1404 <ul>
1405 <li> Added {@link android.support.v17.leanback.app.GuidedStepFragment},
1406 {@link android.support.v17.leanback.widget.GuidanceStylist} and
1407 {@link android.support.v17.leanback.widget.GuidedActionsStylist} to support
Kris Giesing663cdc52015-04-20 11:12:06 -07001408 creating multi-step decision flows.
Rich Slogar1c6c22d2015-04-13 14:01:04 -07001409 </li>
1410 </ul>
1411 </dd>
1412
1413
1414 <dt>Changes for <a href="features.html#v7-recyclerview">v7 recyclerview library</a>:</dt>
1415 <dd>
1416 <ul>
1417 <li>Added {@link android.support.v7.util.SortedList} classes to display items in
1418 a list order and provide notification of changes to the list.
1419 </li>
1420 <li>Added the {@link android.support.v7.widget.util.SortedListAdapterCallback} class
1421 that can bind a sorted list to a
1422 {@link android.support.v7.widget.RecyclerView.Adapter} class.
1423 </li>
1424 </ul>
1425 </dd>
1426
1427
Rich Slogarc9e841e2015-05-06 16:30:47 -07001428 <dt>Changes for <a href="features.html#v8-renderscript">v8 renderscript library</a>:</dt>
Rich Slogar1c6c22d2015-04-13 14:01:04 -07001429 <dd>
1430 <ul>
1431 <li>Added the {@link android.support.v8.renderscript.ScriptIntrinsicHistogram} class for
1432 use as a histogram filter.</li>
1433 <li>Added the {@link android.support.v8.renderscript.ScriptIntrinsicResize} class for
1434 performing a resize of a 2D allocation.
1435 </li>
1436 </ul>
1437 </dd>
1438
1439 </dl>
1440
1441
1442 </div>
1443</div> <!-- end of collapsible section -->
1444
1445
1446
1447<div class="toggle-content closed">
1448 <p id="rev21"><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001449 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogara81ed3c2015-03-02 16:09:21 -08001450/>Android Support Library, revision 22</a> <em>(March 2015)</em>
1451 </p>
1452 <div class="toggle-content-toggleme">
1453 <dl>
1454 <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
1455 <dd>
1456 <ul>
1457 <li>Updated the {@link android.support.v4.content.res.ResourcesCompat#getDrawable
1458 getDrawable()} method to return a drawable object for a specified specific resource ID,
1459 screen density, and theme.
1460 </li>
1461 <li>Added the {@link android.support.v4.view.ViewCompat#setImportantForAccessibility
1462 setImportantForAccessibility()} method so you can indicate if a view should trigger
1463 accessibility events.
1464 </li>
1465 <li>Added the {@link android.support.v4.widget.DrawerLayout#getStatusBarBackgroundDrawable
1466 getStatusBarBackgroundDrawable()} method so you can get the status bar background
1467 drawable.
1468 </li>
1469 <li>Added methods to the
1470 {@link android.support.v4.app.NotificationCompat.CarExtender.UnreadConversation}
1471 class so Android Auto messaging apps can retrieve additional notification data.
1472 </li>
1473 <li>Added the {@link android.support.v4.widget.SwipeRefreshLayout#getProgressCircleDiameter
1474 getProgressCircleDiameter()} method to return the diameter of a circle layout.
1475 </li>
1476 <li>Changed the default {@link android.support.v4.widget.DrawerLayout DrawerLayout}
1477 status bar color to {@link android.R.attr#colorPrimaryDark}.
1478 </li>
1479 </ul>
1480 </dd>
1481
1482 <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library</a>:</dt>
1483 <dd>
1484 <ul>
1485 <li>Added the spinner style
1486 {@link android.support.v7.appcompat.R.style#Base_Widget_AppCompat_Spinner_Underlined}.</li>
1487 <li>Added tinted widgets styles with
1488 {@link android.support.v7.appcompat.R.style#Widget_AppCompat_AutoCompleteTextView},
1489 {@link android.widget.MultiAutoCompleteTextView},
1490 {@link android.support.v7.appcompat.R.style#TextAppearance_AppCompat_Button}, and
1491 {@link android.support.v7.appcompat.R.style#Base_Widget_AppCompat_RatingBar}.</li>
1492 </ul>
1493 </dd>
1494
1495 <dt>Changes for <a href="features.html#v17-leanback">v17 leanback library</a>:</dt>
1496 <dd>
1497 <ul>
1498 <li>Added the {@link android.support.v17.leanback.widget.ListRowPresenter#getRecycledPoolSize
1499 getRecycledPoolSize()} and
1500 {@link android.support.v17.leanback.widget.ListRowPresenter#setRecycledPoolSize
1501 setRecycledPoolSize()} methods to allow customized recycled pool sizes.</li>
1502 <li>Added the {@link android.view.ViewGroup.LayoutParams#WRAP_CONTENT} attribute to the
1503 layout width setting to support wrapped content for title icons.</li>
1504 <li>Defined {@link android.support.v17.leanback.R.transition} in XML to
1505 improve transition updates. </li>
1506 <li>Enabled support for right to left layouts.</li>
1507 <li>Added the play and pause media key events support to the
1508 {@link android.support.v17.leanback.app.PlaybackOverlayFragment} class.</li>
1509 <li>Added enter and return transitions to the
1510 {@link android.support.v17.leanback.app.BrowseFragment} class and the
1511 {@link android.support.v17.leanback.app.DetailsFragment} class.</li>
1512 <li>Added the {@link android.support.v17.leanback.widget.ArrayObjectAdapter#replace
1513 replace()} method to replace items in an object’s adapter array. </li>
1514 </ul>
1515 </dd>
1516
1517
1518 <dt>Changes for <a href="features.html#v7-mediarouter">v7 mediarouter library</a>:</dt>
1519 <dd>
1520 <ul>
1521 <li>Updated Google Cast icons to use the
1522 <a href="{@docRoot}training/material/index.html">material design</a> style.</li>
1523 <li>Updated all the icons used in the {@link android.media.MediaRouter} dialogs to use the
1524 <a href="{@docRoot}training/material/index.html">material design</a> style.</li>
1525 </ul>
1526 </dd>
1527
1528
1529 <dt>Changes for <a href="features.html#v7-recyclerview">v7 recyclerview library</a>:</dt>
1530 <dd>
1531 <ul>
1532 <li>Added the {@link android.support.v7.widget.RecyclerView.ViewHolder#getLayoutPosition
1533 getlayoutPosition()}
1534 and {@link android.support.v7.widget.RecyclerView.ViewHolder#getAdapterPosition
1535 getadapterPosition()} methods to the {@link android.support.v7.widget.RecyclerView}
1536 class.</li>
1537 <li>Deprecated the <code>classgetChildPosition()</code> and
1538 <code>findViewHolderForPosition()</code> methods in the
1539 {@link android.support.v7.widget.RecyclerView} class. </li>
1540 <li>Deprecated the <code>getPosition()</code> method in the
1541 {@link android.support.v7.widget.RecyclerView.ViewHolder} class. </li>
1542 <li>Deprecated the <code>getViewPosition()</code> method in the
1543 {@link android.support.v7.widget.RecyclerView.LayoutParams} class. </li>
1544 </ul>
1545 </dd>
1546
Rich Slogar1c6c22d2015-04-13 14:01:04 -07001547 </div>
1548</div>
1549
1550
Rich Slogara81ed3c2015-03-02 16:09:21 -08001551
1552
1553<div class="toggle-content closed">
1554 <p id="rev21"><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001555 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogard7beb6d2014-12-11 15:51:18 -08001556/>Android Support Library, revision 21.0.3</a> <em>(December 2014)</em>
1557 </p>
1558 <div class="toggle-content-toggleme">
1559 <dl>
1560 <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
1561 <dd>
1562 <ul>
1563 <li>Added several {@link android.support.v4.app.NotificationCompat.WearableExtender}
1564 methods to improve the display of barcodes in notifications on wearable devices.
1565 <ul>
1566 <li>{@link android.support.v4.app.NotificationCompat.WearableExtender#getHintScreenTimeout getHintScreenTimeout()}</li>
1567 <li>{@link android.support.v4.app.NotificationCompat.WearableExtender#setHintScreenTimeout setHintScreenTimeout()}</li>
1568 <li>{@link android.support.v4.app.NotificationCompat.WearableExtender#getHintAvoidBackgroundClipping getHintAvoidBackgroundClipping()}</li>
1569 <li>{@link android.support.v4.app.NotificationCompat.WearableExtender#setHintAvoidBackgroundClipping setHintAvoidBackgroundClipping()}</li>
1570 </ul>
1571 </li>
1572 </ul>
1573 </dd>
1574
1575 </div>
1576</div>
1577
1578
1579
1580<div class="toggle-content closed">
1581 <p id="rev21"><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001582 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogard7beb6d2014-12-11 15:51:18 -08001583/>Android Support Library, revision 21.0.2</a> <em>(November 2014)</em>
1584 </p>
1585 <div class="toggle-content-toggleme">
1586 <dl>
1587 <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
1588 <dd>
1589 <ul>
1590 <li>Added {@link android.support.v4.app.NotificationCompat.CarExtender}
1591 class to support Android Auto extensions to notifications.</li>
1592 </ul>
1593 </dd>
1594 <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat library</a>:</dt>
1595 <dd>
1596 <ul>
1597 <li>Added the {@link android.support.v7.widget.PopupMenu} constructor to support new popup
1598 menus.</li>
1599 <li>Added support for a Collapse icon description in the {@link android.support.v7.widget.Toolbar}
1600 class.</li>
1601 <li>Updated the {@link android.support.v7.widget.SearchView} widget to support displaying
Jae Seo57551c22015-09-25 12:50:08 -07001602 the {@link android.support.v7.appcompat.R.attr#commitIcon}. </li>
Rich Slogard7beb6d2014-12-11 15:51:18 -08001603 <li>Removed the <code>buttonGravity</code> attribute from the
1604 {@link android.support.v7.widget.Toolbar} class. </li>
1605 </ul>
1606 </dd>
1607 <dt>Changes for <a href="features.html#v7-cardview">v7 cardview library</a>:</dt>
1608 <dd>
1609 <ul>
1610 <li>Added {@link android.support.v7.widget.CardView#setCardBackgroundColor} API to
1611 support changing the background color of the {@link android.support.v7.widget.CardView}.</li>
1612 <li>Changed the {@link android.support.v7.widget.CardView} to more accurately report its
1613 opacity value as {@link android.graphics.PixelFormat#TRANSLUCENT}.</li>
1614 </ul>
1615 </dd>
1616 <dt>Changes for <a href="features.html#v7-recyclerview">v7 recyclerview
1617 library</a>:</dt>
1618 <dd>
1619 <ul>
1620 <li>Added {@link android.support.v7.widget.RecyclerView#TOUCH_SLOP_DEFAULT} and
1621 {@link android.support.v7.widget.RecyclerView#TOUCH_SLOP_PAGING} constants
1622 to the {@link android.support.v7.widget.RecyclerView} class
1623 to support touch slop configurations for paging.</li>
1624 </ul>
1625 </dd>
1626 <dt>Changes for <a href="features.html#v17-leanback">v17 leanback library</a>:</dt>
1627 <dd>
1628 <ul>
1629 <li>Added support to generate v4 code fragments. </li>
1630 <li>Changed the secondary text color on {@link android.support.v7.widget.CardView}. </li>
1631 </ul>
1632 </dd>
1633 </dl>
1634 </div>
1635</div>
1636
1637
1638
1639<div class="toggle-content closed">
1640 <p id="rev21"><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001641 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Rich Slogard7beb6d2014-12-11 15:51:18 -08001642/>Android Support Library, revision 21.0.1</a> <em>(November 2014)</em>
1643 </p>
1644 <div class="toggle-content-toggleme">
1645 <dl>
1646 <dt>Added <a href="{@docRoot}tools/support-library/features.html#multidex">
1647 multidex support library</a> to support multiple
1648 <a href="https://source.android.com/devices/tech/dalvik/">Dalvik</a> Executable (DEX) files
Rich Slogarf0a340e2015-08-05 18:02:17 -07001649 for multi-dex file support prior to Android 5.0.
Rich Slogard7beb6d2014-12-11 15:51:18 -08001650 </dt>
1651 </dl>
1652 </div>
1653</div>
1654
1655
1656
1657
1658<div class="toggle-content closed">
1659 <p id="rev21"><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001660 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Andrew Solovay6f6d10e2014-10-02 11:23:42 -07001661/>Android Support Library, revision 21</a> <em>(October 2014)</em>
1662 </p>
1663 <div class="toggle-content-toggleme">
1664 <dl>
1665 <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
1666 <dd>
1667 <ul>
1668 <li>Added support for {@link android.support.v4.app.Fragment}
1669 transitions for devices running Android 5.0 (API level 21).
1670 Be aware that transitions have no effect on devices running
1671 Android 4.4 and lower.
1672 </li>
1673 <li>Added {@link android.support.v4.provider.DocumentFile} to ease
1674 the transition from {@link java.io.File}
1675 while working with document trees. However, this class demands
1676 more processing overhead compared to the platform's
1677 {@link android.provider.DocumentsContract} API added in
1678 Android 4.4 (API level 19). So you should switch to using {@link
1679 android.provider.DocumentsContract} when running on Android 4.4
1680 and higher.</li>
1681 </ul>
1682 </dd>
1683 <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat
1684 library</a>:</dt>
1685 <dd>
1686 <ul>
1687 <li>Added support for <a href="{@docRoot}design/material/">material
1688 design</a> user interfaces.</li>
1689 <li>Added {@link android.support.v7.widget.Toolbar}, which generalizes
1690 the functionality of {@link android.support.v7.app.ActionBar} for
1691 use within app layouts.</li>
1692 <li>Updated {@link android.support.v7.app.ActionBarDrawerToggle},
1693 which contains the menu-to-arrow animation</li>
1694 <li>Updated common user interface widgets to allow tinting via theme
1695 attributes when running on pre-Android 5.0 devices</li>
1696 <li>Added {@link android.support.v7.widget.SwitchCompat}, a backport
Rich Slogara81ed3c2015-03-02 16:09:21 -08001697 of the {@link android.widget.Switch} widget that was added in
Andrew Solovay6f6d10e2014-10-02 11:23:42 -07001698 Android 4.0 (API level 14).</li>
1699 </ul>
1700 </dd>
1701 <dt>New <a href="features.html#v7-cardview">v7 cardview library</a>:</dt>
1702 <dd>
1703 <ul>
1704 <li>Added the {@link android.support.v7.widget.CardView} widget, which
1705 provides a material design-compatible implementation for displaying
1706 data items.</li>
1707 </ul>
1708 </dd>
1709 <dt>New <a href="features.html#v7-recyclerview">v7 recyclerview
1710 library</a>:</dt>
1711 <dd>
1712 <ul>
1713 <li>Added the {@link android.support.v7.widget.RecyclerView} widget,
1714 which provides a flexible list view for providing a limited window
1715 into a large data set.</li>
1716 </ul>
1717 </dd>
1718 <dt>New <a href="features.html#v7-palette">v7 palette library</a>:</dt>
1719 <dd>
1720 <ul>
1721 <li>Added {@link android.support.v7.graphics.Palette} class,
1722 which lets you extract prominent colors from an image.</li>
1723 </ul>
1724 </dd>
1725 <dt>New <a href="features.html#v17-leanback">v17 leanback library</a>:</dt>
1726 <dd>
1727 <ul>
1728 <li>Added support for building TV user interfaces, including
1729 {@link android.support.v17.leanback.app.BrowseFragment},
1730 {@link android.support.v17.leanback.app.DetailsFragment}, and
1731 {@link android.support.v17.leanback.app.PlaybackOverlayFragment}.
1732 For more information about using these user interface widgets,
1733 see <a href="{@docRoot}training/tv/playback/index.html">Building TV
1734 Playback Apps</a>.</li>
1735 </ul>
1736 </dd>
1737 </dl>
1738 </div>
1739</div>
1740
1741<div class="toggle-content closed">
1742 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001743 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Ricardo Cerveradc2bba12014-07-07 13:15:56 -07001744/>Android Support Library, revision 20</a> <em>(July 2014)</em>
1745 </p>
1746 <div class="toggle-content-toggleme">
1747 <dl>
1748 <dt>Changes for v4 support library:</dt>
1749 <dd>
1750 <ul>
1751 <li>Added extended notification support for Android Wear in
1752 {@link android.support.v4.app.NotificationCompat.WearableExtender}, which allows you
1753 to specify wearable-specific features in your notifications.</li>
1754 <li>Added {@link android.support.v4.app.NotificationCompat.Action.WearableExtender},
1755 which allows actions to be added on wearable notifications.</li>
1756 <li>Added {@link android.support.v4.app.NotificationManagerCompat}, which allows you
1757 to issue notifications that properly support wearable features.</li>
1758 <li>Added {@link android.support.v4.app.RemoteInput}, which allows a handheld device
1759 to receive voice input from a notification that appears on a wearable device.</li>
1760 <li>Improved the handling of touch feedback in
1761 {@link android.support.v4.widget.SwipeRefreshLayout}.</li>
1762 </ul>
1763 </dd>
1764 </dl>
1765 </div>
1766</div>
1767
1768<div class="toggle-content closed">
1769 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001770 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Ricardo Cervera40594d92014-03-21 11:57:59 -07001771/>Android Support Library, revision 19.1.0</a> <em>(March 2014)</em>
1772 </p>
1773 <div class="toggle-content-toggleme">
1774 <dl>
1775 <dt>Changes for v4 support library:</dt>
1776 <dd>
1777 <ul>
1778 <li>Added the {@link android.support.v4.widget.SwipeRefreshLayout} class,
1779 which enables users to refresh the contents of a view with a vertical
1780 swipe gesture.</li>
1781 <li>Fixed accessibility issues with navigation drawers.</li>
1782 </ul>
1783 </dd>
1784
1785 <dt>Changes for v7 appcompat library:</dt>
1786 <dd>
1787 <ul>
1788 <li>Fixed background issues with the action bar.</li>
1789 </ul>
1790 </dd>
1791 </dl>
1792 </div>
1793</div>
1794
1795<div class="toggle-content closed">
1796 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001797 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez53b01db2013-11-21 16:16:22 -08001798/>Android Support Library, revision 19.0.1</a> <em>(December 2013)</em>
1799 </p>
1800 <div class="toggle-content-toggleme">
1801 <dl>
1802 <dt>Changes for v4 support library:</dt>
1803 <dd>
1804 <ul>
1805 <li>Improved {@link android.support.v4.print.PrintHelper} by adding asynchronous
1806 handling of printing.</li>
1807 <li>Fixed the {@link android.support.v4.widget.DrawerLayout} class approximation of
1808 the {@link android.view.View#addChildrenForAccessibility addChildrenForAccessibility()}
1809 method.</li>
1810 <li>Fixed slide drawable mirroring in {@link
1811 android.support.v4.app.ActionBarDrawerToggle}.</li>
1812 <li>Fixed off-by-one issue when removing an item from a collection iterator.</li>
1813 </ul>
1814 </dd>
1815
1816 <dt>Changes for v7 mediarouter library:</dt>
1817 <dd>
1818 <ul>
1819 <li>Improved route identification by using full component name in the {@link
1820 android.support.v7.media.MediaRouteProvider.ProviderMetadata}.</li>
1821 <li>Updated {@link android.support.v7.app.MediaRouteChooserDialog} to hide disabled
1822 routes.</li>
1823 </ul>
1824 </dd>
1825
Rich Slogarc9e841e2015-05-06 16:30:47 -07001826 <dt>Changes for <a href="features.html#v8-renderscript">v8 renderscript library</a></dt>
Joe Fernandez53b01db2013-11-21 16:16:22 -08001827 <dd>
1828 <ul>
1829 <li>Added error propagation for the RenderScript thunking layer.</li>
1830 </ul>
1831 </dd>
1832
1833 </dl>
1834 </div>
1835</div>
1836
1837
1838<div class="toggle-content closed">
1839 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001840 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandezdd697872013-10-24 08:28:11 -07001841/>Android Support Library, revision 19</a> <em>(October 2013)</em>
1842 </p>
1843 <div class="toggle-content-toggleme">
1844 <dl>
1845 <dt>Changes for v4 support library:</dt>
1846 <dd>
1847 <ul>
1848 <li>Added support for external Storage APIs with the
1849 {@link android.support.v4.content.ContextCompat#getObbDirs getObbDirs()},
1850 {@link android.support.v4.content.ContextCompat#getExternalFilesDirs getExternalFilesDirs()},
1851 {@link android.support.v4.content.ContextCompat#getExternalCacheDirs getExternalCacheDirs()},
1852 and {@link android.support.v4.os.EnvironmentCompat#getStorageState getStorageState()}.
1853 These helper methods always return a single file object on devices running Android
1854 4.3 (API level 18) and earlier. When running on Android 4.4 (API level 19) and higher,
1855 these methods may return more than one file object.</li>
1856 <li>Added {@link android.support.v4.print.PrintHelper} class that works with the
1857 Print APIs to print images with a minimum of code.</li>
1858 <li>Added drag-to-open user interface support for pop-up menus. For more information, see
1859 {@link android.support.v4.widget.PopupMenuCompat} and
1860 {@link android.support.v4.widget.ListPopupWindowCompat}.</li>
1861 <li>Improved accessibility support with the addition of a
1862 {@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat#findFocus
1863 findFocus()} method in
1864 {@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat} and the
1865 {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat#getLiveRegion
1866 getLiveRegion()} method in
1867 {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}.</li>
1868 <li>Added helper class {@link android.support.v4.view.ScaleGestureDetectorCompat} for
1869 accessing new scaling gesture methods.</li>
1870 <li>Fixed problem with {@link android.support.v4.app.ActionBarDrawerToggle} in
1871 right-to-left language displays.</li>
1872 <li>Modified {@link android.support.v4.widget.AutoScrollHelper} option to consume
1873 touch events or allow them to be passed through to other views.</li>
1874 </ul>
1875 </dd>
1876
1877 <dt>Changes for v7 mediarouter library:</dt>
1878 <dd>
1879 <ul>
1880 <li>Added support for media playback queuing, setting HTTP header values and media
1881 playback duration.</li>
1882 <li>Added explicit start, get, and end session actions for explicitly managing media
1883 playback sessions with media router.</li>
1884 </ul>
1885 </dd>
1886 </dl>
1887 </div>
1888</div>
1889
1890<div class="toggle-content closed">
1891 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001892 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07001893/>Android Support Library, revision 18</a> <em>(July 2013)</em>
1894 </p>
1895 <div class="toggle-content-toggleme">
1896 <dl>
1897 <dt>Changes for v4 support library:</dt>
1898 <dd>
1899 <ul>
1900 <li>User interface
1901 <ul>
1902 <li>Added {@link android.support.v4.text.BidiFormatter} for handling
1903 text strings that combine right to left and left to right-formatted text.</li>
1904 <li>Modified {@link android.support.v4.view.ViewPager} to better handle cases where the
1905 pager has a measured width of zero in the initial layout processing.</li>
1906 <li>Modified {@link android.support.v4.widget.DrawerLayout} and
1907 {@link android.support.v4.widget.SlidingPaneLayout} to not throw exceptions for
1908 measurement while the project code is being edited.</li>
1909 </ul>
1910 </li>
1911
1912 <li>Accessibility
1913 <ul>
1914 <li>Added {@link android.support.v4.widget.ExploreByTouchHelper} to simplify the
1915 implementation of accessibility for custom views.</li>
1916 <li>Fixed a problem with {@link android.support.v4.view.ViewPager} incorrectly
1917 populating {@link
1918 android.support.v4.view.accessibility.AccessibilityEventCompat#TYPE_VIEW_SCROLLED
1919 TYPE_VIEW_SCROLLED} accessibility events.</li>
1920 <li>Fixed a null pointer exception in {@link android.support.v4.view.ViewPager} when
1921 populating an accessibility event.</li>
1922 <li>Simplified {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}
1923 by changing {@link java.lang.CharSequence} inputs to {@link java.lang.String} objects.
1924 </li>
1925 <li>Deprecated an {@link android.support.v4.view.accessibility.AccessibilityRecordCompat}
1926 constructor that used an {@link java.lang.Object} as input.</li>
1927 </ul>
1928 </li>
1929
1930 <li>Media
1931 <ul>
1932 <li>Added {@link android.support.v4.media.TransportMediator} helper class to manage
1933 media transport control, such as play, pause, skip and other media actions.</li>
1934 <li>Added {@link android.support.v4.hardware.display.DisplayManagerCompat} for managing
1935 display output to one or more device displays.</li>
1936 </ul>
1937 </li>
1938
1939 <li>Other changes
1940 <ul>
1941 <li>Added {@link android.support.v4.content.WakefulBroadcastReceiver} helper class for
1942 implementing a common pattern of detecting a device wakeup event and passing work off
1943 to a {@link android.app.Service} while ensuring that the device does not go back to
1944 sleep before the handoff is complete.</li>
1945 <li>Added two new APIs,
1946 {@link android.support.v4.content.AsyncTaskLoader#commitContentChanged
1947 commitContentChanged()} and
1948 {@link android.support.v4.content.AsyncTaskLoader#rollbackContentChanged
1949 rollbackContentChanged()}, to {@link android.support.v4.content.AsyncTaskLoader} to
1950 help deal with background updates for data changes that are subsequently canceled.
1951 </li>
1952 </ul>
1953 </li>
1954 </ul>
1955 </dd>
1956
1957 <dt>New v7 appcompat library:</dt>
1958 <dd>
1959 <ul>
1960 <li>Added {@link android.support.v7.app.ActionBar} to allow implementation of the
Joe Fernandez7ec2cc52013-07-25 10:09:17 -07001961 action bar user interface <a href="{@docRoot}design/patterns/actionbar.html">design
Joe Fernandez5ffbba62013-07-15 15:53:03 -07001962 pattern</a> back to Android 2.1 (API level 7) and higher. Use of this class requires
1963 that you implement your activity by extending the new
1964 {@link android.support.v7.app.ActionBarActivity} class.</li>
1965 </ul>
1966 </dd>
1967
Dirk Dougherty37ec33742013-07-29 20:44:17 -07001968 <dt>New v7 mediarouter library:</dt>
1969 <dd>
1970 <p>Added a new mediarouter library that provides support for the <a
1971 href="https://developers.google.com/cast/">Google Cast developer preview</a>.
1972 The v7 mediarouter library APIs provide a means of controlling the routing of
1973 media channels and streams from the current device to external screens,
1974 speakers, and other destination devices, with compatibility back to Android 2.1
1975 (API level 7). See <a
1976 href="{@docRoot}tools/support-library/features.html#v7-mediarouter">V7
1977 mediarouter library</a> for more information. </p>
1978
1979 <p class="caution">The v7 mediarouter library APIs introduced in Support
1980 Library r18 are subject to change in later revisions of the Support
1981 Library. At this time, we recommend using the library only in connection
1982 with the <a href="https://developers.google.com/cast/">Google Cast
1983 developer preview</a>.</p>
1984 </dd>
1985
Joe Fernandez5ffbba62013-07-15 15:53:03 -07001986 </dl>
1987 </div>
1988</div>
1989
1990
1991<div class="toggle-content closed">
1992 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07001993 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07001994/>Android Support Library, revision 13</a> <em>(May 2013)</em>
Joe Fernandez41ad8952013-05-08 15:02:31 -07001995 </p>
1996 <div class="toggle-content-toggleme">
1997 <dl>
1998 <dt>Changes for v4 support library:</dt>
1999 <dd>
2000 <ul>
2001 <li>Added {@link android.support.v4.widget.DrawerLayout} for creating a
2002 <a href="{@docRoot}training/implementing-navigation/nav-drawer.html">Navigation
2003 Drawer</a> that can be pulled in from the edge of a window.</li>
2004 <li>Added {@link android.support.v4.widget.SlidingPaneLayout} widget for creating linked
2005 summary and detail views that appropriately adapt to various screen sizes.</li>
2006 <li>Added {@link android.support.v4.app.ActionBarDrawerToggle} as a way to tie
2007 together the functions of {@link android.support.v4.widget.DrawerLayout} and {@link
2008 android.app.ActionBar}.</li>
2009 <li>Added {@link android.support.v4.widget.ViewDragHelper} as a new common component
2010 for dragging views within a parent view.</li>
2011 <li>Added {@link android.support.v4.widget.ScrollerCompat} to provide {@link
2012 android.widget.Scroller} and {@link android.widget.OverScroller} compatibility support.
2013 </li>
Joe Fernandeza502c592013-05-23 11:16:09 -07002014 <li>Added {@link android.support.v4.content.FileProvider} to allow sharing of private
2015 files between applications.</li>
Joe Fernandez41ad8952013-05-08 15:02:31 -07002016 <li>Updated {@link android.support.v4.view.ViewPager} to throw an exception if the
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002017 associated {@link android.support.v4.view.PagerAdapter} class is modified without a
2018 call to {@link android.support.v4.view.PagerAdapter#notifyDataSetChanged
2019 notifyDataSetChanged()}.
Joe Fernandez41ad8952013-05-08 15:02:31 -07002020 </li>
2021 <li>Fixed an issue with {@link android.support.v4.view.ViewPager} children drawing sort
2022 order.</li>
2023 <li>Fixed {@link android.support.v4.view.GestureDetectorCompat} to dispatch missing
2024 {@link android.view.GestureDetector.SimpleOnGestureListener#onSingleTapConfirmed} calls
2025 between tap timeout and long press events.</li>
2026 </ul>
2027 </dd>
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002028
2029 <dt>New v7 gridlayout library:</dt>
2030 <dd>
2031 <ul>
2032 <li>Added {@link android.support.v7.widget.GridLayout} to provide support for the
2033 {@link android.widget.GridLayout} layout object.</li>
2034 <li>Added {@link android.support.v7.widget.Space} which can be used to create blank areas
2035 within a {@link android.support.v7.widget.GridLayout} layout object.</li>
2036 </ul>
Joe Fernandez41ad8952013-05-08 15:02:31 -07002037 </dl>
2038 </div>
2039</div>
2040
2041
2042<div class="toggle-content closed">
2043 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002044 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002045/>Android Support Library, revision 12</a> <em>(February 2013)</em>
Joe Fernandez02c78192013-02-13 14:03:27 -08002046 </p>
2047 <div class="toggle-content-toggleme">
2048 <dl>
2049 <dt>Changes for v4 support library:</dt>
2050 <dd>
2051 <ul>
2052 <li>Improved interaction behavior for {@link android.support.v4.view.ViewPager}.</li>
2053 <li>Fixed a bug that could cause {@link android.support.v4.view.ViewPager} to select the
2054 wrong page.</li>
2055 <li>Fixed use of {@link android.support.v4.view.ViewPager#removeView removeView()} method
2056 during layout for {@link android.support.v4.view.ViewPager}.</li>
2057 <li>Fixed issue with {@link android.support.v4.widget.SearchViewCompat} where using the
2058 back button to dismiss does not clear the search text. This fix only applies to
2059 host API levels 14 and higher.</li>
2060 </ul>
2061 </dd>
2062 </dl>
2063 </div>
2064</div>
2065
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002066
Joe Fernandez02c78192013-02-13 14:03:27 -08002067<div class="toggle-content closed">
2068 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002069 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002070/>Android Support Library, revision 11</a> <em>(November 2012)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002071 </p>
2072 <div class="toggle-content-toggleme">
2073 <dl>
2074 <dt>Changes for v4 support library:</dt>
2075 <dd>
2076 <ul>
2077 <li>User Interface
2078 <ul>
2079 <li>Added support for nested {@link android.support.v4.app.Fragment} classes.</li>
2080 <li>Added improvements to {@link android.support.v4.app.FragmentManager} debugging.
2081 </li>
2082 <li>Fixed problem in {@link android.support.v4.app.FragmentTabHost} where fragment
2083 and tab interaction could result in a {@link android.widget.ListView} state loss.
2084 </li>
2085 <li>Fixed issue with user-visible hint in
2086 {@link android.support.v4.app.FragmentStatePagerAdapter}.</li>
2087 <li>Added {@link android.support.v4.view.ViewPager.PageTransformer PageTransformer}
2088 interface to {@link android.support.v4.view.ViewPager} to allow applications to
2089 supply a custom transition behavior for scrolling.</li>
2090 <li>Added new features and fixes to {@link android.support.v4.app.TaskStackBuilder}
2091 from current release.</li>
2092 <li>Fixed {@link android.support.v4.view.PagerTitleStrip} to correctly track the
2093 {@link android.support.v4.view.PagerAdapter} currently in use.</li>
2094 <li>Fixed display flickering, positioning, and text clipping problems with
2095 {@link android.support.v4.view.PagerTitleStrip}.</li>
2096 <li>Fixed {@link android.support.v4.view.PagerTabStrip} to properly respect padding
2097 when drawing an underline.</li>
2098 </ul>
2099 </li>
2100 <li>Accessibility
2101 <ul>
2102 <li>Added support for new accessibility gesture and touch event types in
2103 {@link android.support.v4.view.accessibility.AccessibilityEventCompat}.</li>
2104 <li>Added support for new accessibility APIs in
2105 {@link android.support.v4.view.ViewCompat}.</li>
2106 <li>Added support for {@link android.support.v4.view.ViewCompat#performAccessibilityAction
2107 performAccessibilityAction()} method to {@link android.support.v4.view.ViewCompat}.
2108 </li>
2109 </ul>
2110 </li>
2111 <li>Added support for gestures with {@link android.support.v4.view.GestureDetectorCompat}.
2112 </li>
2113 <li>Added support for performing atomic operations on files using a new
2114 {@link android.support.v4.util.AtomicFile} class.</li>
2115 <li>Added support for the full set of {@code make} methods in
2116 {@link android.support.v4.content.IntentCompat}.</li>
2117 <li>Added {@link android.support.v4.util.LruCache#trimToSize trimToSize()} method in
2118 {@link android.support.v4.util.LruCache} utility class.</li>
2119 <li>Updated {@link android.support.v4.net.ConnectivityManagerCompat} to get NetworkInfo
2120 from a {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}
2121 broadcast.</li>
2122 </ul>
2123 </dd>
2124 </dl>
2125 </div>
2126</div>
Scott Main50e990c2012-06-21 17:14:39 -07002127
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002128
2129<div class="toggle-content closed">
2130 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002131 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002132/>Android Support Library, revision 10</a> <em>(August 2012)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002133 </p>
2134 <div class="toggle-content-toggleme">
Scott Main607079d2012-08-09 14:13:22 -07002135 <dl>
2136 <dt>Changes for v4 support library:</dt>
2137 <dd>
2138 <ul>
Joe Fernandez02c78192013-02-13 14:03:27 -08002139 <li>Added support for notification features introduced in Android 4.1 (API level 16) with
Scott Main607079d2012-08-09 14:13:22 -07002140 additions to {@link android.support.v4.app.NotificationCompat}.</li>
2141 </ul>
2142 </dd>
2143 </dl>
2144 </div>
2145</div>
2146
2147
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002148<div class="toggle-content closed">
2149 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002150 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002151/>Android Support Library, revision 9</a> <em>(June 2012)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002152 </p>
2153 <div class="toggle-content-toggleme">
Joe Fernandezf86f0e62012-06-19 09:54:07 -07002154 <dl>
2155 <dt>Changes for v4 support library:</dt>
2156 <dd>
2157 <ul>
2158
2159 <li>User Interface Support
2160 <ul>
2161 <li>Added {@link android.support.v4.view.PagerTabStrip} support, providing enhanced
2162functionality beyond {@link android.support.v4.view.PagerTitleStrip}.</li>
2163 <li>Fixed various bugs for {@link android.support.v4.view.PagerTitleStrip} and
2164{@link android.support.v4.view.PagerTabStrip}, including {@link
2165android.widget.TextView#setAllCaps setAllCaps} option, title alignment,
2166appearance improvements, minimum width constraints and touch navigation issues.</li>
2167 <li>Added support for {@link android.support.v4.view.ViewPager} page gutters, which
2168helps the {@link android.support.v4.view.ViewPager} class provide paging support for content with
2169a large horizontal scroll range, such as a map.</li>
2170 <li>Fixed numerous bugs for {@link android.support.v4.view.ViewPager}, including size
2171and data set change problems, page positioning, user interaction, scroll tracking and keyboard
2172navigation problems.</li>
2173 <li>Fixed many bugs for {@link android.support.v4.app.Fragment}, including proper
2174handling of {@link android.support.v4.app.Fragment#onActivityResult onActivityResult()} when
2175the target fragment no longer exists, dispatching selection events to invisible fragments, improved
2176{@link android.support.v4.app.FragmentTransaction#replace FragmentTransaction.replace()} behavior
2177and added better state handling for fragments being moved out of view.</li>
2178 <li>Added support for the {@link
2179android.support.v4.view.ViewCompat postOnAnimation()} method in {@link
2180android.support.v4.view.ViewCompat}.</li>
2181 <li>Updated {@link android.support.v4.app.NavUtils} to use Android 4.1 (API level 16)
2182<em>Up</em> navigation functionality when available.</li>
2183 </ul>
2184 </li>
2185
2186 <li>Accessibility
2187 <ul>
2188 <li>Updated accessibility support classes, including {@link
2189android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}, to follow fixes made in Android
21904.1 (API level 16).</li>
2191 <li>Added support for accessibility scroll actions in {@link
2192android.support.v4.view.ViewPager}.</li>
2193 </ul>
2194 </li>
2195
2196 <li>General improvements
2197 <ul>
2198 <li>Updated {@link android.support.v4.app.TaskStackBuilder} to reflect API changes in
2199Android 4.1 (API level 16).</li>
2200 <li>Enhanced {@link android.support.v4.app.TaskStackBuilder} to allow it to be used
2201from a Service.</li>
2202 <li>Added support for {@link android.support.v4.content.IntentCompat EXTRA_HTML_TEXT}
2203to {@link android.support.v4.app.ShareCompat}.</li>
2204 <li>Updated {@link android.support.v4.app.NotificationCompat.Builder} to support the
2205{@link android.support.v4.app.NotificationCompat.Builder#setNumber setNumber()} method.</li>
2206 <li>Added support in {@link android.support.v4.net.ConnectivityManagerCompat} for the
2207{@link android.support.v4.net.ConnectivityManagerCompat#isActiveNetworkMetered
2208isActiveNetworkMetered()} method.</li>
2209 </ul>
2210 </li>
2211 </ul>
2212 </dd>
2213 </dl>
2214 </div>
2215</div>
2216
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002217
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002218<div class="toggle-content closed">
2219 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002220 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002221/>Android Support Library, revision 8</a> <em>(April 2012)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002222 </p>
2223 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002224 <dl>
2225 <dt>Changes for v4 support library:</dt>
2226 <dd>
2227 <ul>
2228 <li>Fixed intent flags for {@link android.app.PendingIntent} objects generated
2229 by {@link android.support.v4.app.TaskStackBuilder}.</li>
2230 <li>Removed unused attributes from the gridlayout library projects to make sure
Joe Fernandez02c78192013-02-13 14:03:27 -08002231 the library can be built with API level 7 and higher.</li>
Scott Main50e990c2012-06-21 17:14:39 -07002232 <li>Added {@code .classpath} and {@code .project} files for the gridlayout
2233 library project.</li>
2234 </ul>
2235 </dd>
2236 </dl>
Joe Fernandezf86f0e62012-06-19 09:54:07 -07002237 </div>
Scott Main50e990c2012-06-21 17:14:39 -07002238</div>
2239
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002240
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002241<div class="toggle-content closed">
2242 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002243 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002244/>Android Support Library, revision 7</a> <em>(March 2012)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002245 </p>
2246 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002247 <dl>
2248 <dt>Changes for v4 support library:</dt>
2249 <dd>
2250 <ul>
2251 <li>Added {@link android.support.v4.app.ShareCompat}, which provides helper classes
2252for sending and receiving content for social sharing applications, including new metadata for
2253attributing shared data to the source app. This class also provides compatible integration with the
2254new {@link android.widget.ShareActionProvider} in Android 4.0.</li>
2255 <li>Added {@link android.support.v4.app.NavUtils} and {@link
2256android.support.v4.app.TaskStackBuilder} to provide support for implementing the
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002257<a href="{@docRoot}design/index.html">Android Design</a> guidelines for navigation. These
Scott Main50e990c2012-06-21 17:14:39 -07002258additions include a way to implement the action bar's <em>Up</em> button across versions.
2259For an example implementation of this pattern, see the AppNavigation sample in
Neil Fuller71fbb812015-11-30 09:51:33 +00002260(<code><em>&lt;sdk&gt;</em>/samples/<em>&lt;platform&gt;</em>/AppNavigation</code>).</li>
Scott Main50e990c2012-06-21 17:14:39 -07002261 <li>Added {@link android.support.v4.app.NotificationCompat.Builder} to provide a
2262compatibility implementation of Android 3.0's {@link android.app.Notification.Builder} helper class
2263for creating standardized system notifications.</li>
2264 </ul>
2265 </dd>
2266 </dl>
2267 </div>
Joe Fernandezf86f0e62012-06-19 09:54:07 -07002268</div>
Scott Main50e990c2012-06-21 17:14:39 -07002269
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002270
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002271<div class="toggle-content closed">
2272 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002273 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002274/>Android Support Library, revision 6</a> <em>(December 2011)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002275 </p>
2276 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002277
Scott Main50e990c2012-06-21 17:14:39 -07002278 <p class="note"><strong>Note:</strong> Reference for support library APIs are now available with
2279 the framework references, for example: {@link android.support.v4.app}.</p>
2280<dl>
2281 <dt>Changes for v4 support library:</dt>
2282 <dd>
2283 <ul>
2284 <li>Changes to ViewPager:
2285 <ul>
2286 <li>Added extra decorative view support for {@link android.support.v4.view.ViewPager}.
2287 Decorative views may be supplied as child views of a pager in XML layout.</li>
2288 <li>Added {@link android.support.v4.view.PagerAdapter#getPageTitle
2289 PagerAdapter.getPageTitle()} to supply title strings for pages, which defaults to no
2290 title for each page.</li>
2291 <li>Added {@link android.support.v4.view.PagerTitleStrip}, a non-interactive title
2292 strip, that can be added as a child of ViewPager. Developers can supply text
2293 appearance and color, as well as layout sizing and gravity information.</li>
2294 <li>Updated {@link android.support.v4.view.PagerAdapter} methods to take ViewGroup
2295 objects, rather than View to avoid class casting in adapter implementations.</li>
2296 <li>Updated {@link android.support.v4.view.ViewPager} to use Launcher-style
2297 fling behavior.</li>
2298 <li>Bug fixes for user interface interaction and test automation.</li>
2299 </ul>
2300 </li>
2301
2302 <li>Support for Fragments:
2303 <ul>
2304 <li>Changed {@code setStartDeferred()} method to {@link
2305 android.support.v4.app.Fragment#setUserVisibleHint}.</li>
2306 <li>Added deferred start for off-screen pages to improve performance.</li>
2307 </ul>
2308 </li>
2309
2310 <li>Support for Accessiblity APIs:
2311 <ul>
2312 <li>Updated {@link android.support.v4.view.AccessibilityDelegateCompat} methods
2313 to return empty lists instead of null.</li>
2314 <li>Added new APIs needed by the v4 samples.</li>
2315 </ul>
2316 </li>
2317
2318 </ul>
2319 </dd>
2320 </dl>
2321 </div>
Joe Fernandezf86f0e62012-06-19 09:54:07 -07002322</div>
Scott Main50e990c2012-06-21 17:14:39 -07002323
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002324<div class="toggle-content closed">
2325 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002326 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002327/>Android Support Library, revision 5</a> <em>(December 2011)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002328 </p>
2329 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002330 <dl>
2331 <dt>Changes for v4 support library:</dt>
2332 <dd>
2333 <ul>
2334 <li>Support for Accessiblity APIs:
2335 <ul>
2336 <li>Added {@link android.support.v4.view.AccessibilityDelegateCompat}
2337 to support {@link android.view.View.AccessibilityDelegate}.</li>
2338
2339 <li>Added {@link android.support.v4.view.accessibility.AccessibilityEventCompat}
2340 to support {@link android.view.accessibility.AccessibilityEvent}.</li>
2341
2342 <li>Added {@link android.support.v4.view.accessibility.AccessibilityManagerCompat}
2343 to support {@link android.view.accessibility.AccessibilityManager}.</li>
2344
2345 <li>Added {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}
2346 to support {@link android.view.accessibility.AccessibilityNodeInfo}.</li>
2347
2348 <li>Added {@link android.support.v4.view.accessibility.AccessibilityRecordCompat}
2349 to support {@link android.view.accessibility.AccessibilityRecord}.</li>
2350
2351 <li>Added {@link
2352 android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat}
2353 to support {@link android.accessibilityservice.AccessibilityServiceInfo}.</li>
2354
2355 <li>Added {@link android.support.v4.view.ViewGroupCompat}
2356 to support accessibility features in {@link android.view.ViewGroup}.
2357 </li>
2358
2359 <li>Modified {@link android.support.v4.view.ViewCompat}
2360 to support accessibility features in {@link android.view.View}.</li>
2361 </ul>
2362 </li>
2363
2364 <li>Changes to ViewPager:
2365 <ul>
2366 <li>Added support for margins between pages.
2367 An optional {@link android.graphics.drawable.Drawable} can be provided
2368 to fill the margins.</li>
2369 <li>Added support for {@link android.widget.EdgeEffect}.</li>
2370 <li>Added support for keyboard navigation</li>
2371 <li>Added support to control how many pages are kept to either side
2372 of the current page.</li>
2373 <li>Improved touch physics.</li>
2374 <li>Bug fixes for user interface behavior.</li>
2375 </ul>
2376 </li>
2377 </ul>
2378 </dd>
2379 </dl>
2380 </div>
Joe Fernandezf86f0e62012-06-19 09:54:07 -07002381</div>
Scott Main50e990c2012-06-21 17:14:39 -07002382
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002383<div class="toggle-content closed">
2384 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002385 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002386/>Android Support Library, revision 4</a> <em>(October 2011)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002387 </p>
2388 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002389 <dl>
2390 <dt>Changes for v4 support library:</dt>
2391 <dd>
2392 <ul>
2393 <li>Added <code>EdgeEffectCompat</code> to
2394 support {@link android.widget.EdgeEffect}.</li>
2395
2396 <li>Added <code>LocalBroadcastManager</code> to allow applications to easily
2397 register for and receive intents within a single application without
2398 broadcasting them globally.</li>
2399
2400 <li>Added support in <code>ViewCompat</code> to check for and set overscroll
2401 modes for {@link android.view.View}s on Android 2.3 and later.</li>
2402 <li>Changes to Fragment APIs:
2403 <ul>
2404 <li>Added new APIs to control the visibility of new menus.</li>
2405 <li>Added custom animation APIs.</li>
2406 <li>Added APIs in <code>FragmentActivity</code> to retain custom,
2407 non-configuration instance data.</li>
2408 <li>Various bug fixes.</li>
2409 </ul>
2410 </li>
2411
2412 <li>Fixed a {@link android.content.Loader} bug that caused issues in
2413 canceling {@link android.os.AsyncTask}s when running on Froyo and older
2414 versions of the platform. The support
2415 code now uses its own version of {@link android.os.AsyncTask} to keep the same
2416 behavior on all platform versions.</li>
2417
2418 </ul>
2419 </dd>
2420 </dl>
2421 </div>
Scott Main50e990c2012-06-21 17:14:39 -07002422</div>
2423
2424
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002425<div class="toggle-content closed">
2426 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002427 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002428/>Android Support Library, revision 3</a> <em>(July 2011)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002429 </p>
2430 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002431 <dl>
2432 <dt>Changes for v4 support library:</dt>
2433 <dd>
2434 <ul>
2435 <li>Adds support for {@link android.app.Fragment.SavedState}</li>
2436 <li>Adds {@code MotionEventCompat} to support newer {@link
2437android.view.MotionEvent} APIs</li>
2438 <li>Adds {@code VelocityTrackerCompat} to support a newer {@link
2439android.view.VelocityTracker} APIs</li>
2440 <li>Adds {@code ViewConfigurationCompat} to support a newer {@link
2441android.view.ViewConfiguration} APIs</li>
2442 <li>All new APIs (available only in the support library) that allow you to create UIs
2443with horizontal paging, allowing users to swipe left and right between content views. Classes to
2444support this include:
2445 <ul>
2446 <li>{@code ViewPager}: A {@link android.view.ViewGroup} that manages the
2447layout for the child views, which the user can swipe between.</li>
2448 <li>{@code PagerAdapter}: An adapter that populates the {@code ViewPager} with the
2449views that represent each page.</li>
2450 <li>{@code FragmentPagerAdapter}: An extension of {@code PagerAdapter} for flipping
2451between fragments.</li>
2452 <li>{@code FragmentStatePagerAdapter}: An extension of {@code PagerAdapter} for
2453flipping between fragments that uses the library's support for {@link
2454android.app.Fragment.SavedState}.</li>
2455 </ul>
2456 </li>
2457 </ul>
2458 </dd>
2459 <dt>New v13 support library:</dt>
2460 <dd>
2461 <ul>
2462 <li>Includes the {@code FragmentPagerAdapter} and {@code FragmentStatePagerAdapter}
2463to support the horizontal paging.
2464 <p>These are exactly the same as the APIs added to the v4 support library, but rely on
2465other platform components in Android 3.2. Use this library instead of v4 if you're developing for
2466Android 3.2 and higher (all other APIs in the v4 library are already available with API level
246713).</p>
2468 </li>
2469 </ul>
2470 </dd>
2471 </dl>
2472 </div>
Scott Main50e990c2012-06-21 17:14:39 -07002473</div>
2474
2475
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002476<div class="toggle-content closed">
2477 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002478 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002479/>Android Support Library, revision 2</a> <em>(May 2011)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002480 </p>
2481 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002482 <dl>
2483 <dt>Changes for v4 library:</dt>
2484 <dd>
2485 <ul>
2486 <li>Support for fragment animations</li>
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002487 <li>Fix {@link android.support.v4.app.Fragment#onActivityResult Fragment.onActivityResult()}
Scott Main50e990c2012-06-21 17:14:39 -07002488 bug</li>
2489 </ul>
2490 </dd>
2491 </dl>
2492 </div>
Scott Main50e990c2012-06-21 17:14:39 -07002493</div>
2494
2495
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002496<div class="toggle-content closed">
2497 <p><a href="#" onclick="return toggleContent(this)">
Trevor Johns682c24e2016-04-12 10:13:47 -07002498 <img src="{@docRoot}assets/images/styles/disclosure_down.png" class="toggle-content-img" alt=""
Joe Fernandez5ffbba62013-07-15 15:53:03 -07002499/>Android Support Library, revision 1</a> <em>(March 2011)</em>
Joe Fernandez1292f1e2012-11-09 10:52:22 -08002500 </p>
2501 <div class="toggle-content-toggleme">
Scott Main50e990c2012-06-21 17:14:39 -07002502 <p>Initial release with the v4 library.</p>
2503 </div>
Scott Main50e990c2012-06-21 17:14:39 -07002504</div>
Dirk Dougherty6c1c2632015-05-02 16:31:11 -07002505