• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Support Library
2
3@jd:body
4
5<div id="qv-wrapper">
6  <div id="qv">
7
8    <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>
13
14    <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>
21
22  </div>
23</div>
24
25<p>The Android Support Library package is a set of code libraries that provide
26  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>
30
31<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>
33
34
35<h2 id="overview">Overview</h2>
36
37<p>Including the Support Libraries in your Android project is considered a best practice for
38  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
40  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>
60
61<div class="toggle-content opened">
62  <p id="rev21"><a href="#" onclick="return toggleContent(this)">
63    <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img" alt=""
64/>Android Support Library, revision 21</a> <em>(October 2014)</em>
65  </p>
66  <div class="toggle-content-toggleme">
67    <dl>
68      <dt>Changes for <a href="features.html#v4">v4 support library:</a></dt>
69      <dd>
70        <ul>
71          <li>Added support for {@link android.support.v4.app.Fragment}
72              transitions for devices running Android 5.0 (API level 21).
73              Be aware that transitions have no effect on devices running
74              Android 4.4 and lower.
75          </li>
76          <li>Added {@link android.support.v4.provider.DocumentFile} to ease
77              the transition from {@link java.io.File}
78              while working with document trees. However, this class demands
79              more processing overhead compared to the platform's
80              {@link android.provider.DocumentsContract} API added in
81              Android 4.4 (API level 19). So you should switch to using {@link
82              android.provider.DocumentsContract} when running on Android 4.4
83              and higher.</li>
84        </ul>
85      </dd>
86      <dt>Changes for <a href="features.html#v7-appcompat">v7 appcompat
87        library</a>:</dt>
88      <dd>
89        <ul>
90          <li>Added support for <a href="{@docRoot}design/material/">material
91              design</a> user interfaces.</li>
92          <li>Added {@link android.support.v7.widget.Toolbar}, which generalizes
93              the functionality of {@link android.support.v7.app.ActionBar} for
94              use within app layouts.</li>
95          <li>Updated {@link android.support.v7.app.ActionBarDrawerToggle},
96              which contains the menu-to-arrow animation</li>
97          <li>Updated common user interface widgets to allow tinting via theme
98              attributes when running on pre-Android 5.0 devices</li>
99          <li>Added {@link android.support.v7.widget.SwitchCompat}, a backport
100              of the {@link android.widget.Switch} widget that was added in
101              Android 4.0 (API level 14).</li>
102        </ul>
103      </dd>
104      <dt>New <a href="features.html#v7-cardview">v7 cardview library</a>:</dt>
105      <dd>
106        <ul>
107          <li>Added the {@link android.support.v7.widget.CardView} widget, which
108            provides a material design-compatible implementation for displaying
109            data items.</li>
110        </ul>
111      </dd>
112      <dt>New <a href="features.html#v7-recyclerview">v7 recyclerview
113        library</a>:</dt>
114      <dd>
115        <ul>
116          <li>Added the {@link android.support.v7.widget.RecyclerView} widget,
117            which provides a flexible list view for providing a limited window
118            into a large data set.</li>
119        </ul>
120      </dd>
121      <dt>New <a href="features.html#v7-palette">v7 palette library</a>:</dt>
122      <dd>
123        <ul>
124          <li>Added {@link android.support.v7.graphics.Palette} class,
125          which lets you extract prominent colors from an image.</li>
126        </ul>
127      </dd>
128      <dt>New <a href="features.html#v17-leanback">v17 leanback library</a>:</dt>
129      <dd>
130        <ul>
131          <li>Added support for building TV user interfaces, including
132            {@link android.support.v17.leanback.app.BrowseFragment},
133            {@link android.support.v17.leanback.app.DetailsFragment}, and
134            {@link android.support.v17.leanback.app.PlaybackOverlayFragment}.
135            For more information about using these user interface widgets,
136            see <a href="{@docRoot}training/tv/playback/index.html">Building TV
137            Playback Apps</a>.</li>
138        </ul>
139      </dd>
140    </dl>
141  </div>
142</div>
143
144<div class="toggle-content closed">
145  <p><a href="#" onclick="return toggleContent(this)">
146    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
147/>Android Support Library, revision 20</a> <em>(July 2014)</em>
148  </p>
149  <div class="toggle-content-toggleme">
150    <dl>
151      <dt>Changes for v4 support library:</dt>
152      <dd>
153        <ul>
154          <li>Added extended notification support for Android Wear in
155            {@link android.support.v4.app.NotificationCompat.WearableExtender}, which allows you
156            to specify wearable-specific features in your notifications.</li>
157          <li>Added {@link android.support.v4.app.NotificationCompat.Action.WearableExtender},
158            which allows actions to be added on wearable notifications.</li>
159          <li>Added {@link android.support.v4.app.NotificationManagerCompat}, which allows you
160            to issue notifications that properly support wearable features.</li>
161          <li>Added {@link android.support.v4.app.RemoteInput}, which allows a handheld device
162            to receive voice input from a notification that appears on a wearable device.</li>
163          <li>Improved the handling of touch feedback in
164            {@link android.support.v4.widget.SwipeRefreshLayout}.</li>
165        </ul>
166      </dd>
167    </dl>
168  </div>
169</div>
170
171<div class="toggle-content closed">
172  <p><a href="#" onclick="return toggleContent(this)">
173    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
174/>Android Support Library, revision 19.1.0</a> <em>(March 2014)</em>
175  </p>
176  <div class="toggle-content-toggleme">
177    <dl>
178      <dt>Changes for v4 support library:</dt>
179      <dd>
180        <ul>
181          <li>Added the {@link android.support.v4.widget.SwipeRefreshLayout} class,
182              which enables users to refresh the contents of a view with a vertical
183              swipe gesture.</li>
184          <li>Fixed accessibility issues with navigation drawers.</li>
185        </ul>
186      </dd>
187
188      <dt>Changes for v7 appcompat library:</dt>
189      <dd>
190        <ul>
191          <li>Fixed background issues with the action bar.</li>
192        </ul>
193      </dd>
194    </dl>
195  </div>
196</div>
197
198<div class="toggle-content closed">
199  <p><a href="#" onclick="return toggleContent(this)">
200    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
201/>Android Support Library, revision 19.0.1</a> <em>(December 2013)</em>
202  </p>
203  <div class="toggle-content-toggleme">
204    <dl>
205      <dt>Changes for v4 support library:</dt>
206      <dd>
207        <ul>
208          <li>Improved {@link android.support.v4.print.PrintHelper} by adding asynchronous
209            handling of printing.</li>
210          <li>Fixed the {@link android.support.v4.widget.DrawerLayout} class approximation of
211            the {@link android.view.View#addChildrenForAccessibility addChildrenForAccessibility()}
212            method.</li>
213          <li>Fixed slide drawable mirroring in {@link
214            android.support.v4.app.ActionBarDrawerToggle}.</li>
215          <li>Fixed off-by-one issue when removing an item from a collection iterator.</li>
216        </ul>
217      </dd>
218
219      <dt>Changes for v7 mediarouter library:</dt>
220      <dd>
221        <ul>
222          <li>Improved route identification by using full component name in the {@link
223            android.support.v7.media.MediaRouteProvider.ProviderMetadata}.</li>
224          <li>Updated {@link android.support.v7.app.MediaRouteChooserDialog} to hide disabled
225            routes.</li>
226        </ul>
227      </dd>
228
229      <dt>Changes for v8 renderscript library:</dt>
230      <dd>
231        <ul>
232          <li>Added error propagation for the RenderScript thunking layer.</li>
233        </ul>
234      </dd>
235
236    </dl>
237  </div>
238</div>
239
240
241<div class="toggle-content closed">
242  <p><a href="#" onclick="return toggleContent(this)">
243    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
244/>Android Support Library, revision 19</a> <em>(October 2013)</em>
245  </p>
246  <div class="toggle-content-toggleme">
247    <dl>
248      <dt>Changes for v4 support library:</dt>
249      <dd>
250        <ul>
251          <li>Added support for external Storage APIs with the
252            {@link android.support.v4.content.ContextCompat#getObbDirs getObbDirs()},
253            {@link android.support.v4.content.ContextCompat#getExternalFilesDirs getExternalFilesDirs()},
254            {@link android.support.v4.content.ContextCompat#getExternalCacheDirs getExternalCacheDirs()},
255            and {@link android.support.v4.os.EnvironmentCompat#getStorageState getStorageState()}.
256            These helper methods always return a single file object on devices running Android
257            4.3 (API level 18) and earlier. When running on Android 4.4 (API level 19) and higher,
258            these methods may return more than one file object.</li>
259          <li>Added {@link android.support.v4.print.PrintHelper} class that works with the
260            Print APIs to print images with a minimum of code.</li>
261          <li>Added drag-to-open user interface support for pop-up menus. For more information, see
262            {@link android.support.v4.widget.PopupMenuCompat} and
263            {@link android.support.v4.widget.ListPopupWindowCompat}.</li>
264          <li>Improved accessibility support with the addition of a
265            {@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat#findFocus
266            findFocus()} method in
267            {@link android.support.v4.view.accessibility.AccessibilityNodeProviderCompat} and the
268            {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat#getLiveRegion
269            getLiveRegion()} method in
270            {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}.</li>
271          <li>Added helper class {@link android.support.v4.view.ScaleGestureDetectorCompat} for
272            accessing new scaling gesture methods.</li>
273          <li>Fixed problem with {@link android.support.v4.app.ActionBarDrawerToggle} in
274            right-to-left language displays.</li>
275          <li>Modified {@link android.support.v4.widget.AutoScrollHelper} option to consume
276            touch events or allow them to be passed through to other views.</li>
277        </ul>
278      </dd>
279
280      <dt>Changes for v7 mediarouter library:</dt>
281      <dd>
282        <ul>
283          <li>Added support for media playback queuing, setting HTTP header values and media
284            playback duration.</li>
285          <li>Added explicit start, get, and end session actions for explicitly managing media
286            playback sessions with media router.</li>
287        </ul>
288      </dd>
289    </dl>
290  </div>
291</div>
292
293<div class="toggle-content closed">
294  <p><a href="#" onclick="return toggleContent(this)">
295    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
296/>Android Support Library, revision 18</a> <em>(July 2013)</em>
297  </p>
298  <div class="toggle-content-toggleme">
299    <dl>
300      <dt>Changes for v4 support library:</dt>
301      <dd>
302      <ul>
303        <li>User interface
304          <ul>
305            <li>Added {@link android.support.v4.text.BidiFormatter} for handling
306              text strings that combine right to left and left to right-formatted text.</li>
307            <li>Modified {@link android.support.v4.view.ViewPager} to better handle cases where the
308              pager has a measured width of zero in the initial layout processing.</li>
309            <li>Modified {@link android.support.v4.widget.DrawerLayout} and
310              {@link android.support.v4.widget.SlidingPaneLayout} to not throw exceptions for
311              measurement while the project code is being edited.</li>
312          </ul>
313        </li>
314
315        <li>Accessibility
316          <ul>
317            <li>Added {@link android.support.v4.widget.ExploreByTouchHelper} to simplify the
318              implementation of accessibility for custom views.</li>
319            <li>Fixed a problem with {@link android.support.v4.view.ViewPager} incorrectly
320              populating {@link
321              android.support.v4.view.accessibility.AccessibilityEventCompat#TYPE_VIEW_SCROLLED
322              TYPE_VIEW_SCROLLED} accessibility events.</li>
323            <li>Fixed a null pointer exception in {@link android.support.v4.view.ViewPager} when
324              populating an accessibility event.</li>
325            <li>Simplified {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}
326              by changing {@link java.lang.CharSequence} inputs to {@link java.lang.String} objects.
327              </li>
328            <li>Deprecated an {@link android.support.v4.view.accessibility.AccessibilityRecordCompat}
329              constructor that used an {@link java.lang.Object} as input.</li>
330          </ul>
331        </li>
332
333        <li>Media
334          <ul>
335            <li>Added {@link android.support.v4.media.TransportMediator} helper class to manage
336              media transport control, such as play, pause, skip and other media actions.</li>
337            <li>Added {@link android.support.v4.hardware.display.DisplayManagerCompat} for managing
338              display output to one or more device displays.</li>
339          </ul>
340        </li>
341
342        <li>Other changes
343        <ul>
344            <li>Added {@link android.support.v4.content.WakefulBroadcastReceiver} helper class for
345              implementing a common pattern of detecting a device wakeup event and passing work off
346              to a {@link android.app.Service} while ensuring that the device does not go back to
347              sleep before the handoff is complete.</li>
348            <li>Added two new APIs,
349              {@link android.support.v4.content.AsyncTaskLoader#commitContentChanged
350              commitContentChanged()} and
351              {@link android.support.v4.content.AsyncTaskLoader#rollbackContentChanged
352              rollbackContentChanged()}, to {@link android.support.v4.content.AsyncTaskLoader} to
353              help deal with background updates for data changes that are subsequently canceled.
354              </li>
355          </ul>
356        </li>
357      </ul>
358      </dd>
359
360      <dt>New v7 appcompat library:</dt>
361      <dd>
362        <ul>
363          <li>Added {@link android.support.v7.app.ActionBar} to allow implementation of the
364            action bar user interface <a href="{@docRoot}design/patterns/actionbar.html">design
365            pattern</a> back to Android 2.1 (API level 7) and higher. Use of this class requires
366            that you implement your activity by extending the new
367            {@link android.support.v7.app.ActionBarActivity} class.</li>
368        </ul>
369      </dd>
370
371      <dt>New v7 mediarouter library:</dt>
372      <dd>
373        <p>Added a new mediarouter library that provides support for the <a
374        href="https://developers.google.com/cast/">Google Cast developer preview</a>.
375        The v7 mediarouter library APIs provide a means of controlling the routing of
376        media channels and streams from the current device to external screens,
377        speakers, and other destination devices, with compatibility back to Android 2.1
378        (API level 7). See <a
379        href="{@docRoot}tools/support-library/features.html#v7-mediarouter">V7
380        mediarouter library</a> for more information. </p>
381
382        <p class="caution">The v7 mediarouter library APIs introduced in Support
383        Library r18 are subject to change in later revisions of the Support
384        Library. At this time, we recommend using the library only in connection
385        with the <a href="https://developers.google.com/cast/">Google Cast
386        developer preview</a>.</p>
387      </dd>
388
389    </dl>
390  </div>
391</div>
392
393
394<div class="toggle-content closed">
395  <p><a href="#" onclick="return toggleContent(this)">
396    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
397/>Android Support Library, revision 13</a> <em>(May 2013)</em>
398  </p>
399  <div class="toggle-content-toggleme">
400    <dl>
401      <dt>Changes for v4 support library:</dt>
402      <dd>
403        <ul>
404          <li>Added {@link android.support.v4.widget.DrawerLayout} for creating a
405            <a href="{@docRoot}training/implementing-navigation/nav-drawer.html">Navigation
406            Drawer</a> that can be pulled in from the edge of a window.</li>
407          <li>Added {@link android.support.v4.widget.SlidingPaneLayout} widget for creating linked
408            summary and detail views that appropriately adapt to various screen sizes.</li>
409          <li>Added {@link android.support.v4.app.ActionBarDrawerToggle} as a way to tie
410            together the functions of {@link android.support.v4.widget.DrawerLayout} and {@link
411            android.app.ActionBar}.</li>
412          <li>Added {@link android.support.v4.widget.ViewDragHelper} as a new common component
413            for dragging views within a parent view.</li>
414          <li>Added {@link android.support.v4.widget.ScrollerCompat} to provide {@link
415            android.widget.Scroller} and {@link android.widget.OverScroller} compatibility support.
416            </li>
417          <li>Added {@link android.support.v4.content.FileProvider} to allow sharing of private
418            files between applications.</li>
419          <li>Updated {@link android.support.v4.view.ViewPager} to throw an exception if the
420            associated {@link android.support.v4.view.PagerAdapter} class is modified without a
421            call to {@link android.support.v4.view.PagerAdapter#notifyDataSetChanged
422            notifyDataSetChanged()}.
423            </li>
424          <li>Fixed an issue with {@link android.support.v4.view.ViewPager} children drawing sort
425            order.</li>
426          <li>Fixed {@link android.support.v4.view.GestureDetectorCompat} to dispatch missing
427            {@link android.view.GestureDetector.SimpleOnGestureListener#onSingleTapConfirmed} calls
428            between tap timeout and long press events.</li>
429        </ul>
430      </dd>
431
432      <dt>New v7 gridlayout library:</dt>
433      <dd>
434        <ul>
435          <li>Added {@link android.support.v7.widget.GridLayout} to provide support for the
436            {@link android.widget.GridLayout} layout object.</li>
437          <li>Added {@link android.support.v7.widget.Space} which can be used to create blank areas
438            within a {@link android.support.v7.widget.GridLayout} layout object.</li>
439        </ul>
440    </dl>
441  </div>
442</div>
443
444
445<div class="toggle-content closed">
446  <p><a href="#" onclick="return toggleContent(this)">
447    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
448/>Android Support Library, revision 12</a> <em>(February 2013)</em>
449  </p>
450  <div class="toggle-content-toggleme">
451    <dl>
452      <dt>Changes for v4 support library:</dt>
453      <dd>
454        <ul>
455          <li>Improved interaction behavior for {@link android.support.v4.view.ViewPager}.</li>
456          <li>Fixed a bug that could cause {@link android.support.v4.view.ViewPager} to select the
457            wrong page.</li>
458          <li>Fixed use of {@link android.support.v4.view.ViewPager#removeView removeView()} method
459            during layout for {@link android.support.v4.view.ViewPager}.</li>
460          <li>Fixed issue with {@link android.support.v4.widget.SearchViewCompat} where using the
461            back button to dismiss does not clear the search text. This fix only applies to
462            host API levels 14 and higher.</li>
463        </ul>
464      </dd>
465    </dl>
466  </div>
467</div>
468
469
470<div class="toggle-content closed">
471  <p><a href="#" onclick="return toggleContent(this)">
472    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
473/>Android Support Library, revision 11</a> <em>(November 2012)</em>
474  </p>
475  <div class="toggle-content-toggleme">
476    <dl>
477      <dt>Changes for v4 support library:</dt>
478      <dd>
479        <ul>
480          <li>User Interface
481            <ul>
482              <li>Added support for nested {@link android.support.v4.app.Fragment} classes.</li>
483              <li>Added improvements to {@link android.support.v4.app.FragmentManager} debugging.
484                </li>
485              <li>Fixed problem in {@link android.support.v4.app.FragmentTabHost} where fragment
486                and tab interaction could result in a {@link android.widget.ListView} state loss.
487                </li>
488              <li>Fixed issue with user-visible hint in
489                {@link android.support.v4.app.FragmentStatePagerAdapter}.</li>
490              <li>Added {@link android.support.v4.view.ViewPager.PageTransformer PageTransformer}
491                interface to {@link android.support.v4.view.ViewPager} to allow applications to
492                supply a custom transition behavior for scrolling.</li>
493              <li>Added new features and fixes to {@link android.support.v4.app.TaskStackBuilder}
494                from current release.</li>
495              <li>Fixed {@link android.support.v4.view.PagerTitleStrip} to correctly track the
496                {@link android.support.v4.view.PagerAdapter} currently in use.</li>
497              <li>Fixed display flickering, positioning, and text clipping problems with
498                {@link android.support.v4.view.PagerTitleStrip}.</li>
499              <li>Fixed {@link android.support.v4.view.PagerTabStrip} to properly respect padding
500                when drawing an underline.</li>
501            </ul>
502          </li>
503          <li>Accessibility
504            <ul>
505              <li>Added support for new accessibility gesture and touch event types in
506                {@link android.support.v4.view.accessibility.AccessibilityEventCompat}.</li>
507              <li>Added support for new accessibility APIs in
508                {@link android.support.v4.view.ViewCompat}.</li>
509              <li>Added support for {@link android.support.v4.view.ViewCompat#performAccessibilityAction
510                performAccessibilityAction()} method to {@link android.support.v4.view.ViewCompat}.
511                </li>
512            </ul>
513          </li>
514          <li>Added support for gestures with {@link android.support.v4.view.GestureDetectorCompat}.
515            </li>
516          <li>Added support for performing atomic operations on files using a new
517            {@link android.support.v4.util.AtomicFile} class.</li>
518          <li>Added support for the full set of {@code make} methods in
519            {@link android.support.v4.content.IntentCompat}.</li>
520          <li>Added {@link android.support.v4.util.LruCache#trimToSize trimToSize()} method in
521            {@link android.support.v4.util.LruCache} utility class.</li>
522          <li>Updated {@link android.support.v4.net.ConnectivityManagerCompat} to get NetworkInfo
523            from a {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}
524            broadcast.</li>
525        </ul>
526      </dd>
527    </dl>
528  </div>
529</div>
530
531
532<div class="toggle-content closed">
533  <p><a href="#" onclick="return toggleContent(this)">
534    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
535/>Android Support Library, revision 10</a> <em>(August 2012)</em>
536  </p>
537  <div class="toggle-content-toggleme">
538    <dl>
539      <dt>Changes for v4 support library:</dt>
540      <dd>
541        <ul>
542          <li>Added support for notification features introduced in Android 4.1 (API level 16) with
543          additions to {@link android.support.v4.app.NotificationCompat}.</li>
544        </ul>
545      </dd>
546    </dl>
547  </div>
548</div>
549
550
551<div class="toggle-content closed">
552  <p><a href="#" onclick="return toggleContent(this)">
553    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
554/>Android Support Library, revision 9</a> <em>(June 2012)</em>
555  </p>
556  <div class="toggle-content-toggleme">
557    <dl>
558      <dt>Changes for v4 support library:</dt>
559      <dd>
560        <ul>
561
562          <li>User Interface Support
563            <ul>
564              <li>Added {@link android.support.v4.view.PagerTabStrip} support, providing enhanced
565functionality beyond {@link android.support.v4.view.PagerTitleStrip}.</li>
566              <li>Fixed various bugs for {@link android.support.v4.view.PagerTitleStrip} and
567{@link android.support.v4.view.PagerTabStrip}, including {@link
568android.widget.TextView#setAllCaps setAllCaps} option, title alignment,
569appearance improvements, minimum width constraints and touch navigation issues.</li>
570              <li>Added support for {@link android.support.v4.view.ViewPager} page gutters, which
571helps the {@link android.support.v4.view.ViewPager} class provide paging support for content with
572a large horizontal scroll range, such as a map.</li>
573              <li>Fixed numerous bugs for {@link android.support.v4.view.ViewPager}, including size
574and data set change problems, page positioning, user interaction, scroll tracking and keyboard
575navigation problems.</li>
576              <li>Fixed many bugs for {@link android.support.v4.app.Fragment}, including proper
577handling of {@link android.support.v4.app.Fragment#onActivityResult onActivityResult()} when
578the target fragment no longer exists, dispatching selection events to invisible fragments, improved
579{@link android.support.v4.app.FragmentTransaction#replace FragmentTransaction.replace()} behavior
580and added better state handling for fragments being moved out of view.</li>
581              <li>Added support for the {@link
582android.support.v4.view.ViewCompat postOnAnimation()} method in {@link
583android.support.v4.view.ViewCompat}.</li>
584              <li>Updated {@link android.support.v4.app.NavUtils} to use Android 4.1 (API level 16)
585<em>Up</em> navigation functionality when available.</li>
586            </ul>
587          </li>
588
589          <li>Accessibility
590            <ul>
591              <li>Updated accessibility support classes, including {@link
592android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}, to follow fixes made in Android
5934.1 (API level 16).</li>
594              <li>Added support for accessibility scroll actions in {@link
595android.support.v4.view.ViewPager}.</li>
596            </ul>
597          </li>
598
599          <li>General improvements
600            <ul>
601              <li>Updated {@link android.support.v4.app.TaskStackBuilder} to reflect API changes in
602Android 4.1 (API level 16).</li>
603              <li>Enhanced {@link android.support.v4.app.TaskStackBuilder} to allow it to be used
604from a Service.</li>
605              <li>Added support for {@link android.support.v4.content.IntentCompat EXTRA_HTML_TEXT}
606to {@link android.support.v4.app.ShareCompat}.</li>
607              <li>Updated {@link android.support.v4.app.NotificationCompat.Builder} to support the
608{@link android.support.v4.app.NotificationCompat.Builder#setNumber setNumber()} method.</li>
609              <li>Added support in {@link android.support.v4.net.ConnectivityManagerCompat} for the
610{@link android.support.v4.net.ConnectivityManagerCompat#isActiveNetworkMetered
611isActiveNetworkMetered()} method.</li>
612            </ul>
613          </li>
614        </ul>
615      </dd>
616    </dl>
617  </div>
618</div>
619
620
621<div class="toggle-content closed">
622  <p><a href="#" onclick="return toggleContent(this)">
623    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
624/>Android Support Library, revision 8</a> <em>(April 2012)</em>
625  </p>
626  <div class="toggle-content-toggleme">
627    <dl>
628      <dt>Changes for v4 support library:</dt>
629      <dd>
630        <ul>
631          <li>Fixed intent flags for {@link android.app.PendingIntent} objects generated
632            by {@link android.support.v4.app.TaskStackBuilder}.</li>
633          <li>Removed unused attributes from the gridlayout library projects to make sure
634            the library can be built with API level 7 and higher.</li>
635          <li>Added {@code .classpath} and {@code .project} files for the gridlayout
636            library project.</li>
637        </ul>
638      </dd>
639    </dl>
640  </div>
641</div>
642
643
644<div class="toggle-content closed">
645  <p><a href="#" onclick="return toggleContent(this)">
646    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
647/>Android Support Library, revision 7</a> <em>(March 2012)</em>
648  </p>
649  <div class="toggle-content-toggleme">
650    <dl>
651      <dt>Changes for v4 support library:</dt>
652      <dd>
653        <ul>
654          <li>Added {@link android.support.v4.app.ShareCompat}, which provides helper classes
655for sending and receiving content for social sharing applications, including new metadata for
656attributing shared data to the source app. This class also provides compatible integration with the
657new {@link android.widget.ShareActionProvider} in Android 4.0.</li>
658          <li>Added {@link android.support.v4.app.NavUtils} and {@link
659android.support.v4.app.TaskStackBuilder} to provide support for implementing the
660<a href="{@docRoot}design/index.html">Android Design</a> guidelines for navigation. These
661additions include a way to implement the action bar's <em>Up</em> button across versions.
662For an example implementation of this pattern, see the AppNavigation sample in
663({@code <em>&lt;sdk&gt;</em>/samples/<em>&lt;platform&gt;</em>/AppNavigation}).</li>
664          <li>Added {@link android.support.v4.app.NotificationCompat.Builder} to provide a
665compatibility implementation of Android 3.0's {@link android.app.Notification.Builder} helper class
666for creating standardized system notifications.</li>
667        </ul>
668      </dd>
669    </dl>
670  </div>
671</div>
672
673
674<div class="toggle-content closed">
675  <p><a href="#" onclick="return toggleContent(this)">
676    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
677/>Android Support Library, revision 6</a> <em>(December 2011)</em>
678  </p>
679  <div class="toggle-content-toggleme">
680
681    <p class="note"><strong>Note:</strong> Reference for support library APIs are now available with
682    the framework references, for example: {@link android.support.v4.app}.</p>
683<dl>
684      <dt>Changes for v4 support library:</dt>
685      <dd>
686        <ul>
687          <li>Changes to ViewPager:
688            <ul>
689              <li>Added extra decorative view support for {@link android.support.v4.view.ViewPager}.
690                Decorative views may be supplied as child views of a pager in XML layout.</li>
691              <li>Added {@link android.support.v4.view.PagerAdapter#getPageTitle
692                PagerAdapter.getPageTitle()} to supply title strings for pages, which defaults to no
693                title for each page.</li>
694              <li>Added {@link android.support.v4.view.PagerTitleStrip}, a non-interactive title
695                strip, that can be added as a child of ViewPager. Developers can supply text
696                appearance and color, as well as layout sizing and gravity information.</li>
697              <li>Updated {@link android.support.v4.view.PagerAdapter} methods to take ViewGroup
698                objects, rather than View to avoid class casting in adapter implementations.</li>
699              <li>Updated {@link android.support.v4.view.ViewPager} to use Launcher-style
700                fling behavior.</li>
701              <li>Bug fixes for user interface interaction and test automation.</li>
702            </ul>
703          </li>
704
705          <li>Support for Fragments:
706            <ul>
707              <li>Changed {@code setStartDeferred()} method to {@link
708                android.support.v4.app.Fragment#setUserVisibleHint}.</li>
709              <li>Added deferred start for off-screen pages to improve performance.</li>
710            </ul>
711          </li>
712
713          <li>Support for Accessiblity APIs:
714            <ul>
715              <li>Updated {@link android.support.v4.view.AccessibilityDelegateCompat} methods
716                to return empty lists instead of null.</li>
717              <li>Added new APIs needed by the v4 samples.</li>
718            </ul>
719          </li>
720
721        </ul>
722      </dd>
723    </dl>
724  </div>
725</div>
726
727<div class="toggle-content closed">
728  <p><a href="#" onclick="return toggleContent(this)">
729    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
730/>Android Support Library, revision 5</a> <em>(December 2011)</em>
731  </p>
732  <div class="toggle-content-toggleme">
733    <dl>
734      <dt>Changes for v4 support library:</dt>
735      <dd>
736        <ul>
737          <li>Support for Accessiblity APIs:
738            <ul>
739              <li>Added {@link android.support.v4.view.AccessibilityDelegateCompat}
740              to support {@link android.view.View.AccessibilityDelegate}.</li>
741
742              <li>Added {@link android.support.v4.view.accessibility.AccessibilityEventCompat}
743              to support {@link android.view.accessibility.AccessibilityEvent}.</li>
744
745              <li>Added {@link android.support.v4.view.accessibility.AccessibilityManagerCompat}
746              to support {@link android.view.accessibility.AccessibilityManager}.</li>
747
748              <li>Added {@link android.support.v4.view.accessibility.AccessibilityNodeInfoCompat}
749              to support {@link android.view.accessibility.AccessibilityNodeInfo}.</li>
750
751              <li>Added {@link android.support.v4.view.accessibility.AccessibilityRecordCompat}
752              to support {@link android.view.accessibility.AccessibilityRecord}.</li>
753
754              <li>Added {@link
755              android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat}
756              to support {@link android.accessibilityservice.AccessibilityServiceInfo}.</li>
757
758              <li>Added {@link android.support.v4.view.ViewGroupCompat}
759              to support accessibility features in {@link android.view.ViewGroup}.
760              </li>
761
762              <li>Modified {@link android.support.v4.view.ViewCompat}
763              to support accessibility features in {@link android.view.View}.</li>
764            </ul>
765          </li>
766
767          <li>Changes to ViewPager:
768            <ul>
769              <li>Added support for margins between pages.
770              An optional {@link android.graphics.drawable.Drawable} can be provided
771              to fill the margins.</li>
772              <li>Added support for {@link android.widget.EdgeEffect}.</li>
773              <li>Added support for keyboard navigation</li>
774              <li>Added support to control how many pages are kept to either side
775              of the current page.</li>
776              <li>Improved touch physics.</li>
777              <li>Bug fixes for user interface behavior.</li>
778            </ul>
779          </li>
780        </ul>
781      </dd>
782    </dl>
783  </div>
784</div>
785
786<div class="toggle-content closed">
787  <p><a href="#" onclick="return toggleContent(this)">
788    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
789/>Android Support Library, revision 4</a> <em>(October 2011)</em>
790  </p>
791  <div class="toggle-content-toggleme">
792    <dl>
793      <dt>Changes for v4 support library:</dt>
794      <dd>
795        <ul>
796          <li>Added <code>EdgeEffectCompat</code> to
797          support {@link android.widget.EdgeEffect}.</li>
798
799          <li>Added <code>LocalBroadcastManager</code> to allow applications to easily
800            register for and receive intents within a single application without
801            broadcasting them globally.</li>
802
803          <li>Added support in <code>ViewCompat</code> to check for and set overscroll
804          modes for {@link android.view.View}s on Android 2.3 and later.</li>
805          <li>Changes to Fragment APIs:
806            <ul>
807              <li>Added new APIs to control the visibility of new menus.</li>
808              <li>Added custom animation APIs.</li>
809              <li>Added APIs in <code>FragmentActivity</code> to retain custom,
810              non-configuration instance data.</li>
811              <li>Various bug fixes.</li>
812            </ul>
813          </li>
814
815          <li>Fixed a {@link android.content.Loader} bug that caused issues in
816          canceling {@link android.os.AsyncTask}s when running on Froyo and older
817          versions of the platform. The support
818          code now uses its own version of {@link android.os.AsyncTask} to keep the same
819          behavior on all platform versions.</li>
820
821        </ul>
822      </dd>
823    </dl>
824  </div>
825</div>
826
827
828<div class="toggle-content closed">
829  <p><a href="#" onclick="return toggleContent(this)">
830    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
831/>Android Support Library, revision 3</a> <em>(July 2011)</em>
832  </p>
833  <div class="toggle-content-toggleme">
834    <dl>
835      <dt>Changes for v4 support library:</dt>
836      <dd>
837        <ul>
838          <li>Adds support for {@link android.app.Fragment.SavedState}</li>
839          <li>Adds {@code MotionEventCompat} to support newer {@link
840android.view.MotionEvent} APIs</li>
841          <li>Adds {@code VelocityTrackerCompat} to support a newer {@link
842android.view.VelocityTracker} APIs</li>
843          <li>Adds {@code ViewConfigurationCompat} to support a newer {@link
844android.view.ViewConfiguration} APIs</li>
845          <li>All new APIs (available only in the support library) that allow you to create UIs
846with horizontal paging, allowing users to swipe left and right between content views. Classes to
847support this include:
848            <ul>
849              <li>{@code ViewPager}: A {@link android.view.ViewGroup} that manages the
850layout for the child views, which the user can swipe between.</li>
851              <li>{@code PagerAdapter}: An adapter that populates the {@code ViewPager} with the
852views that represent each page.</li>
853              <li>{@code FragmentPagerAdapter}: An extension of {@code PagerAdapter} for flipping
854between fragments.</li>
855              <li>{@code FragmentStatePagerAdapter}: An extension of {@code PagerAdapter} for
856flipping between fragments that uses the library's support for {@link
857android.app.Fragment.SavedState}.</li>
858            </ul>
859          </li>
860        </ul>
861      </dd>
862      <dt>New v13 support library:</dt>
863      <dd>
864        <ul>
865          <li>Includes the {@code FragmentPagerAdapter} and {@code FragmentStatePagerAdapter}
866to support the horizontal paging.
867          <p>These are exactly the same as the APIs added to the v4 support library, but rely on
868other platform components in Android 3.2. Use this library instead of v4 if you're developing for
869Android 3.2 and higher (all other APIs in the v4 library are already available with API level
87013).</p>
871          </li>
872        </ul>
873      </dd>
874    </dl>
875  </div>
876</div>
877
878
879<div class="toggle-content closed">
880  <p><a href="#" onclick="return toggleContent(this)">
881    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
882/>Android Support Library, revision 2</a> <em>(May 2011)</em>
883  </p>
884  <div class="toggle-content-toggleme">
885    <dl>
886    <dt>Changes for v4 library:</dt>
887    <dd>
888      <ul>
889        <li>Support for fragment animations</li>
890        <li>Fix {@link android.support.v4.app.Fragment#onActivityResult Fragment.onActivityResult()}
891          bug</li>
892      </ul>
893    </dd>
894    </dl>
895  </div>
896</div>
897
898
899<div class="toggle-content closed">
900  <p><a href="#" onclick="return toggleContent(this)">
901    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img" alt=""
902/>Android Support Library, revision 1</a> <em>(March 2011)</em>
903  </p>
904  <div class="toggle-content-toggleme">
905      <p>Initial release with the v4 library.</p>
906  </div>
907</div>
908
909