title: smooth scrolling recyclerview
body: <pre><code>  public class Maindashboard extends AppCompatActivity {
  
              ArrayList&lt;SectionDataModel&gt; allSampleData;
              private Toolbar toolbar;
              public static TextView title;
  
              public static RecyclerView my_recycler_view;
  
              @SuppressLint("WrongConstant")
              @Override
              protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                  getSupportActionBar().hide();
                  setContentView(R.layout.activity_main2);
                  allSampleData = new ArrayList&lt;SectionDataModel&gt;();              
                  title = findViewById(R.id.title);       
                  ArrayList&lt;String&gt; years = new ArrayList&lt;String&gt;();
                  int thisYear = Calendar.getInstance().get(Calendar.YEAR) + 10;
                  for (int ik = 2019; ik &lt;= thisYear; ik++) {
                      years.add(Integer.toString(ik));
                      int year = ik;    
                  }                  
                  my_recycler_view = (RecyclerView) findViewById(R.id.rv_item);        
                  my_recycler_view.setHasFixedSize(true);        
          RecyclerViewDataAdapter adapter = new RecyclerViewDataAdapter(Maindashboard.this, allSampleData);        
     my_recycler_view.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
                  my_recycler_view.setItemViewCacheSize(20);
                  my_recycler_view.setDrawingCacheEnabled(true);
                  my_recycler_view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
                  my_recycler_view.setRecycledViewPool(new RecyclerView.RecycledViewPool());   
                  my_recycler_view.setAdapter(adapter);        
                  createDummyData();
              }    
              public void createDummyData() {    
                  for (int j = 0; j &lt; 132; j++) {    
                      Calendar cal = Calendar.getInstance();
                      int month = cal.get(Calendar.MONTH);
                      SectionDataModel dm = new SectionDataModel();
                      ArrayList&lt;SingleItemModel&gt; singleItem = new ArrayList&lt;SingleItemModel&gt;();
                      // cal.set(Calendar.DAY_OF_YEAR, 2019);    
                      cal.set(Calendar.MONTH, month + j);
                      SimpleDateFormat dfs = new SimpleDateFormat("MMMM-yyyy");
                      String months = dfs.format(cal.getTime());    
                      dm.setHeaderTitle(months);
                      int maxDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);       
                      SimpleDateFormat df = new SimpleDateFormat("dd-MMMM-yyyy");
                      //System.out.print(df.format(cal.getTime()));
                      cal.set(Calendar.DAY_OF_MONTH, 1);
                      int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
                      for (int i = 1; i &lt; maxDay + dayOfWeek; i++) {        
                          SingleItemModel imageModel = new SingleItemModel();
                              if (i &lt; dayOfWeek) {
                              imageModel.setName(" - - ");
                          } else {       
                              int index = i - dayOfWeek + 1;
                              cal.set(Calendar.DAY_OF_MONTH, index);
                              imageModel.setName(df.format(cal.getTime()));    
                          }
                          singleItem.add(imageModel);        
                      }
                      dm.setAllItemsInSection(singleItem);        
                      allSampleData.add(dm);
                  }                 
              }        
              public int getWeekdayOfMonth(int year, int month) {
                  Calendar cal = Calendar.getInstance();
                  cal.set(year, month - 1, 1);
                  int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK) - 1;
                  return dayOfWeek;
              }
          }
  </code></pre>
  
  <p>i created custom vertical scrolling 10 years  calendar view  its working fine but not scrolling smoothly and when open calendar screen it taking to 5 seconds to open activity  i used below code  in that code executing perfectly but not scrolling smoothly and taking to much time top open activity </p>