/** * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ /** * <p>Support classes for building Leanback user experiences.</p> * <p> * Many apps intended for a 10-foot, or 'Leanback', experience are centered around media and games. * Games tend to have custom user interfaces, but media applications may benefit from a common set of * user interface components that work well in a Leanback environment. Following is an overview of * the Leanback Support Library. * </p> * <p> * Leanback provides a model-view-presenter approach to building applications: * <ul> * <li>The model is primarily provided by the application developer. Leanback imposes very few * restrictions on how this model is implemented: anything extending Object in Java is * supported. * </li> * <li>The view is handled by the existing {@link android.view} package. Developers * may continue to use their existing knowledge and experience to create visually compelling * applications with Leanback. * </li> * <li>The presenter is based on the existing Adapter concept in the Android framework, but has * been updated to add more flexibility and composability. In particular, the interface for * binding data to views has been separated from the adapter that traverses the data, allowing * presenters to be used in more places. See {@link android.support.v17.leanback.widget.Presenter} * for more details. * </li> * </ul> * <p> * Leanback contains a mixture of higher level building blocks such as Fragments in the * {@link android.support.v17.leanback.app} package. Notable examples are the * {@link android.support.v17.leanback.app.BrowseFragment} and the * {@link android.support.v17.leanback.app.GuidedStepFragment}. Helper classes are also provided * that work with the leanback fragments, for example the * {@link android.support.v17.leanback.app.PlaybackControlGlue}. * </p> * <p> * Many lower level building blocks are also provided in the {@link android.support.v17.leanback.widget} package. * These allow applications to easily incorporate Leanback look and feel while allowing for a * high degree of customization. Primary examples include the UI widget * {@link android.support.v17.leanback.widget.HorizontalGridView} and * {@link android.support.v17.leanback.widget.VerticalGridView}. Helper classes also exist at this level * which do not depend on the leanback fragments, for example the * {@link android.support.v17.leanback.widget.TitleHelper}. */ package android.support.v17.leanback;