1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.car.rotaryplayground; 18 19 import android.os.Bundle; 20 import android.view.LayoutInflater; 21 import android.view.View; 22 import android.view.ViewGroup; 23 import androidx.annotation.Nullable; 24 import androidx.fragment.app.Fragment; 25 import androidx.recyclerview.widget.GridLayoutManager; 26 import androidx.recyclerview.widget.RecyclerView; 27 28 /** 29 * Fragment with a RecyclerView Grid to demo and test z-pattern rotating navigation and 30 * vertical scroll. 31 */ 32 public class RotaryGrid extends Fragment { 33 34 private static final int NUMBER_OF_COLUMNS = 3; 35 36 private static final String[] DATA = { 37 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 38 "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", 39 "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", 40 "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", 41 "41", "42", "43", "44", "45", "46", "47", "48", "49", "50"}; 42 43 private RotaryGridAdapter mGridAdapter; 44 45 @Override onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)46 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, 47 @Nullable Bundle savedInstanceState) { 48 View view = inflater.inflate(R.layout.rotary_grid, container, false); 49 populateGridItems(view); 50 return view; 51 } 52 populateGridItems(View view)53 private void populateGridItems(View view) { 54 RecyclerView gridView = view.findViewById(R.id.rotary_grid_view); 55 gridView.setLayoutManager(new GridLayoutManager(getActivity(), NUMBER_OF_COLUMNS)); 56 mGridAdapter = new RotaryGridAdapter(getActivity(), DATA); 57 gridView.setAdapter(mGridAdapter); 58 } 59 } 60