17fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn/*
27fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * Copyright (C) 2014 The Android Open Source Project
37fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn *
47fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
57fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * in compliance with the License. You may obtain a copy of the License at
67fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn *
77fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * http://www.apache.org/licenses/LICENSE-2.0
87fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn *
97fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * Unless required by applicable law or agreed to in writing, software distributed under the License
107fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
117fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * or implied. See the License for the specific language governing permissions and limitations under
127fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn * the License.
137fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn */
147fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbournpackage android.support.v17.leanback.widget;
157fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
167fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbournimport android.support.v17.leanback.R;
177fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbournimport android.content.Context;
187fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbournimport android.util.AttributeSet;
197fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbournimport android.view.LayoutInflater;
207fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbournimport android.view.ViewGroup;
217fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbournimport android.widget.LinearLayout;
227fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
237fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn/**
24a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * ListRowView is a {@link android.view.ViewGroup} which always contains a
25a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link HorizontalGridView}, and may optionally include a hover card.
267fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn */
27cb13a318e577e14461eb008071dddf762847de42Dake Gupublic final class ListRowView extends LinearLayout {
287fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
297fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    private HorizontalGridView mGridView;
307fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
31cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowView(Context context) {
327fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        this(context, null);
337fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
347fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
35cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowView(Context context, AttributeSet attrs) {
368fac6554640f547c0efd98e67ca2d659172468bbDake Gu        this(context, attrs, 0);
377fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
387fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
39cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowView(Context context, AttributeSet attrs, int defStyle) {
407fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        super(context, attrs, defStyle);
417fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
427fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        LayoutInflater inflater = LayoutInflater.from(context);
43cb13a318e577e14461eb008071dddf762847de42Dake Gu        inflater.inflate(R.layout.lb_list_row, this);
447fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
457aaa6c6ef8807cc4ea4c4642716d6e30056bc4ebDake Gu        mGridView = (HorizontalGridView) findViewById(R.id.row_content);
469b0aa361de01529a7d6e5a5956548fef51213e9dTim Kilbourn        // Uncomment this to experiment with page-based scrolling.
479b0aa361de01529a7d6e5a5956548fef51213e9dTim Kilbourn        // mGridView.setFocusScrollStrategy(HorizontalGridView.FOCUS_SCROLL_PAGE);
487fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
497fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        setOrientation(LinearLayout.VERTICAL);
507fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
517fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
527fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
53a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout    /**
54a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout     * Returns the HorizontalGridView.
55a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout     */
567fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    public HorizontalGridView getGridView() {
577fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        return mGridView;
587fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
597fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
607fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn}
61