17aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska/* 27aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Copyright (C) 2017 The Android Open Source Project 37aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * 47aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Licensed under the Apache License, Version 2.0 (the "License"); 57aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * you may not use this file except in compliance with the License. 67aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * You may obtain a copy of the License at 77aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * 87aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * http://www.apache.org/licenses/LICENSE-2.0 97aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * 107aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Unless required by applicable law or agreed to in writing, software 117aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * distributed under the License is distributed on an "AS IS" BASIS, 127aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * See the License for the specific language governing permissions and 147aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * limitations under the License. 157aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska */ 167aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska 177aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskapackage com.example.android.support.wear.app; 187aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska 197aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskaimport android.app.Activity; 207aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskaimport android.os.Bundle; 21b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.support.v7.widget.RecyclerView; 22b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.support.wear.widget.WearableLinearLayoutManager; 23b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.support.wear.widget.WearableRecyclerView; 24b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.view.ViewGroup; 25b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurskaimport android.widget.TextView; 267aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska 277aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskaimport com.example.android.support.wear.R; 287aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska 297aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska/** 307aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska * Main activity for the WearableRecyclerView demo. 317aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska */ 327aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurskapublic class SimpleWearableRecyclerViewDemo extends Activity { 337aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska 347aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska @Override 357aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska protected void onCreate(Bundle savedInstanceState) { 367aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska super.onCreate(savedInstanceState); 377aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska setContentView(R.layout.wrv_demo); 38b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska 39b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska WearableRecyclerView wrv = findViewById(R.id.wrv_container); 40b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska 41b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska wrv.setLayoutManager(new WearableLinearLayoutManager(this)); 42b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska wrv.setAdapter(new DemoAdapter()); 43b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska wrv.setCircularScrollingGestureEnabled(true); 44b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska wrv.setEdgeItemsCenteringEnabled(true); 457aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska } 467aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska 47b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska private class ViewHolder extends RecyclerView.ViewHolder { 48b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska TextView mView; 49b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska ViewHolder(TextView itemView) { 50b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska super(itemView); 51b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska mView = itemView; 52b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska } 53b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska } 54b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska 55b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska private class DemoAdapter extends WearableRecyclerView.Adapter<ViewHolder> { 56b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska private static final int ITEM_COUNT = 100; 57b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska 58b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska @Override 59b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 60b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska TextView view = new TextView(parent.getContext()); 61b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska return new ViewHolder(view); 62b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska } 63b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska 64b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska @Override 65b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska public void onBindViewHolder(ViewHolder holder, int position) { 66b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska holder.mView.setText("Holder at position " + position); 67b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska holder.mView.setTag(position); 68b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska } 69b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska 70b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska 71b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska @Override 72b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska public int getItemCount() { 73b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska return ITEM_COUNT; 74b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska } 75b19a5a34d9a5fdf5e8b1f81dff11f3728c37482fAga Madurska } 767aa1139cc18c340e2ce2fb952500e7fb07074a72Aga Madurska} 77