RecycleView的Grid效果顯示實現
步驟:
1. 如果是5.0以下就加兼容包 按住shift+ctrl+alt+s 添加android.support.v7.widget.RecyclerView
2. 在佈局文件中加Recycleview
3. 實例化RacycleView
4. 寫一個方法給列表填充數據 集合的數據類型是一個實體類
5. 創建一個實體類 在其中定義集合所需要的數據類型
6. 創建一個適配器
7. 建佈局管理器
8. 菜單點擊事件的監聽
8. 菜單點擊事件的監聽
1. 如果是5.0以下就加兼容包 按住shift+ctrl+alt+s 添加android.support.v7.widget.RecyclerView
2. 在佈局文件中加Recycleview
<android.support.v7.widget.RecyclerView android:id="@+id/recyclev" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView>
3. 實例化RacycleView
4. 寫一個方法給列表填充數據 集合的數據類型是一個實體類
private void loadlist(Boolean inversion, Boolean orientation) { //集合對象 ArrayList<DateBean> dates = new ArrayList<>(); //給Bean類放數據,最後吧裝好數據的Bean類放到集合裏 for (int i = 0; i < 35; i++) { //創建Bean類對象 DateBean dateBean = new DateBean(); dateBean.icon = R.drawable.tuzi; dateBean.name = "雪廬" + i; //把Bean類放入集合 dates.add(dateBean); }
5. 創建一個實體類 在其中定義集合所需要的數據類型
//Bean類有哪些類型,要根據列表的item需要哪些數據決定9 public class DateBean { public int icon; public String name; }
6. 創建一個適配器
RecycleAdapter recycleAdapter = new RecycleAdapter(this, dates); //設置適配器 mRecyclerView.setAdapter(recycleAdapter);
7. 創建所需的佈局管理器
//設置佈局 管理器 參數linearLayoutManager對象 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); //通過佈局管理器,控制條目排列的順序 true: 反向顯示 false:正常顯示(默認) linearLayoutManager.setReverseLayout(inversion); //設置列表的方向是水平還是垂直 VERTICAL 默認 linearLayoutManager.setOrientation(orientation ? LinearLayoutManager.VERTICAL : LinearLayoutManager.HORIZONTAL); mRecyclerView.setLayoutManager(linearLayoutManager);
8.
菜單按鈕點擊事件的處理
public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); if (itemId == R.id.list_biaozhun) { //標準顯示 loadlist(false, true); Toast.makeText(MainActivity.this, "雪廬老人", Toast.LENGTH_SHORT).show(); return true; // 垂直反向 } else if (itemId == R.id.list_chuizhifanxiang) { loadlist(true, true); //誰平顯示 } else if (itemId == R.id.list_shuipign) { loadlist(false, false); //水平反向顯示 } else if (itemId == R.id.list_shuipinfanxiang) { loadlist(true, false);
return super.onOptionsItemSelected(item);}