1/** 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 5 * in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the License 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 11 * or implied. See the License for the specific language governing permissions and limitations under 12 * the License. 13 */ 14 15/** 16 * <p>Support classes for building Leanback user experiences.</p> 17 * <p> 18 * Many apps intended for a 10-foot, or 'Leanback', experience are centered around media and games. 19 * Games tend to have custom user interfaces, but media applications may benefit from a common set of 20 * user interface components that work well in a Leanback environment. Following is an overview of 21 * the Leanback Support Library. 22 * </p> 23 * <p> 24 * Leanback provides a model-view-presenter approach to building applications: 25 * <ul> 26 * <li>The model is primarily provided by the application developer. Leanback imposes very few 27 * restrictions on how this model is implemented: anything extending Object in Java is 28 * supported. 29 * </li> 30 * <li>The view is handled by the existing {@link android.view} package. Developers 31 * may continue to use their existing knowledge and experience to create visually compelling 32 * applications with Leanback. 33 * </li> 34 * <li>The presenter is based on the existing Adapter concept in the Android framework, but has 35 * been updated to add more flexibility and composability. In particular, the interface for 36 * binding data to views has been separated from the adapter that traverses the data, allowing 37 * presenters to be used in more places. See {@link android.support.v17.leanback.widget.Presenter} 38 * for more details. 39 * </li> 40 * </ul> 41 * <p> 42 * Leanback contains a mixture of higher level building blocks such as Fragments in the 43 * {@link android.support.v17.leanback.app} package. Notable examples are the 44 * {@link android.support.v17.leanback.app.BrowseFragment} and the 45 * {@link android.support.v17.leanback.app.GuidedStepFragment}. Helper classes are also provided 46 * that work with the leanback fragments, for example the 47 * {@link android.support.v17.leanback.app.PlaybackControlGlue}. 48 * </p> 49 * <p> 50 * Many lower level building blocks are also provided in the {@link android.support.v17.leanback.widget} package. 51 * These allow applications to easily incorporate Leanback look and feel while allowing for a 52 * high degree of customization. Primary examples include the UI widget 53 * {@link android.support.v17.leanback.widget.HorizontalGridView} and 54 * {@link android.support.v17.leanback.widget.VerticalGridView}. Helper classes also exist at this level 55 * which do not depend on the leanback fragments, for example the 56 * {@link android.support.v17.leanback.widget.TitleHelper}. 57 */ 58 59package android.support.v17.leanback;