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 providing high level Leanback user interface building blocks.</p> 17 * <p> 18 * Leanback fragments are available both as support fragments (subclassed from 19 * {@link androidx.fragment.app.Fragment androidx.fragment.app.Fragment}) and as platform 20 * fragments (subclassed from {@link android.app.Fragment android.app.Fragment}). A few of the most 21 * commonly used leanback fragments are described here. 22 * </p> 23 * <p> 24 * A {@link androidx.leanback.app.BrowseSupportFragment} by default operates in the "row" 25 * mode. It includes an optional fastlane 26 * navigation side panel and a list of rows, with one-to-one correspondance between each header 27 * in the fastlane and a row. The application supplies the 28 * {@link androidx.leanback.widget.ObjectAdapter} containing the list of 29 * rows and a {@link androidx.leanback.widget.PresenterSelector} of row presenters. 30 * </p> 31 * <p> 32 * A {@link androidx.leanback.app.BrowseSupportFragment} also works in a "page" mode when 33 * each row of fastlane is mapped to a fragment that the app registers in 34 * {@link androidx.leanback.app.BrowseSupportFragment#getMainFragmentRegistry()}. 35 * </p> 36 * <p> 37 * A {@link androidx.leanback.app.DetailsSupportFragment} will typically consist of a 38 * large overview of an item at the top, 39 * some actions that a user can perform, and possibly rows of additional or related items. 40 * The content for this fragment is specified in the same way as for the BrowseSupportFragment, with 41 * the convention that the first element in the ObjectAdapter corresponds to the overview row. 42 * The {@link androidx.leanback.widget.DetailsOverviewRow} and 43 * {@link androidx.leanback.widget.FullWidthDetailsOverviewRowPresenter} provide a 44 * default template for this row. 45 * </p> 46 * <p> 47 * A {@link androidx.leanback.app.PlaybackSupportFragment} or its subclass 48 * {@link androidx.leanback.app.VideoSupportFragment} hosts 49 * {@link androidx.leanback.media.PlaybackTransportControlGlue} 50 * or {@link androidx.leanback.media.PlaybackBannerControlGlue} with a Leanback 51 * look and feel. It is recommended to use an instance of 52 * {@link androidx.leanback.media.PlaybackTransportControlGlue}. 53 * This helper implements a standard behavior for user interaction with 54 * the most commonly used controls as well as video scrubbing. 55 * </p> 56 * <p> 57 * A {@link androidx.leanback.app.SearchSupportFragment} allows the developer to accept a 58 * query from a user and display the results 59 * using the familiar list rows. 60 * </p> 61 * <p> 62 * A {@link androidx.leanback.app.GuidedStepSupportFragment} is used to guide the user 63 * through a decision or series of decisions. 64 * </p> 65 **/ 66 67 package androidx.leanback.app; 68