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