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/**
24cb13a318e577e14461eb008071dddf762847de42Dake Gu * ListRowView contains a horizontal grid view.
257fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn */
26cb13a318e577e14461eb008071dddf762847de42Dake Gupublic final class ListRowView extends LinearLayout {
277fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
287fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    private HorizontalGridView mGridView;
297fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
30cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowView(Context context) {
317fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        this(context, null);
327fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
337fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
34cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowView(Context context, AttributeSet attrs) {
358fac6554640f547c0efd98e67ca2d659172468bbDake Gu        this(context, attrs, 0);
367fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
377fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
38cb13a318e577e14461eb008071dddf762847de42Dake Gu    public ListRowView(Context context, AttributeSet attrs, int defStyle) {
397fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        super(context, attrs, defStyle);
407fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
417fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        LayoutInflater inflater = LayoutInflater.from(context);
42cb13a318e577e14461eb008071dddf762847de42Dake Gu        inflater.inflate(R.layout.lb_list_row, this);
437fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
447aaa6c6ef8807cc4ea4c4642716d6e30056bc4ebDake Gu        mGridView = (HorizontalGridView) findViewById(R.id.row_content);
459b0aa361de01529a7d6e5a5956548fef51213e9dTim Kilbourn        // Uncomment this to experiment with page-based scrolling.
469b0aa361de01529a7d6e5a5956548fef51213e9dTim Kilbourn        // mGridView.setFocusScrollStrategy(HorizontalGridView.FOCUS_SCROLL_PAGE);
477fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
487fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        setOrientation(LinearLayout.VERTICAL);
497fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
507fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
517fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
527fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    public HorizontalGridView getGridView() {
537fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn        return mGridView;
547fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn    }
557fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn
567fbbc855c5191b6b501f05ecf26175cad32effc4Tim Kilbourn}
57