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