Contoh ini berbagi efek penyegaran pegas dan pemuatan drop-down untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Ketergantungan:
Compile 'com.android.support:recyclerver-v7:25.3.1' compile 'com.liaoinstan.springview: pustaka: 1.3.0' file kompilasi ('libs/glide-3.7.0.jar') Tata Letak Activity_Main
<? Xml Version = "1.0" encoding = "UTF-8"?> <linearlayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: app = "http://schemas.android.com/apkk/resk/resk/nuto" xmlns: Tools = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: orientasi = "vertikal" alat: konteks = "muhanxi.recycleview.mainactivity"> <com.liaoinstan.springview.widget.springview android: layout_width = "match_parent" android: id = "@+id/springview" android: layout_height = "match_parent"> <android. android: layout_height = "match_parent" android: id = "@+id/recyclerver"/> </com.liaoInstan.springview.widget.springview> </linearlayout>
Kelas Utama MainActivity
MainActivity kelas publik memperluas aktivitas {private Recyclerview Recyclerview; Daftar Privat <String> Daftar = ArrayList baru <> (); Private Springview Springview; private linearlayoutManager linearlayoutManager; @Requiresapi (API = build.version_codes.gingerbread) @Override Protected void onCreate (bundle savedInstanceState) {super.onCreate (saveDinstanceState); setContentView (r.layout.activity_main); RecyclerView = (RecyClerView) findViewById (r.id.recyclervery); list.add ("http://f10.baidu.com/it/u=2881303562,336932824&fm=72"); list.add ("http://f11.baidu.com/it/u=681755471.2018070071&fm=72"); list.add ("http://f10.baidu.com/it/u=960650584.863938083&fm=72"); list.add ("http://img0.imgtn.bdimg.com/it/u=783060973,4278100629&fm=27&gp=0.jpg"); list.add ("http://img1.imgtn.bdimg.com/it/u=3743124979,323495668&fm=27&gp=0.jpg"); list.add ("http://img4.imgtn.bdimg.com/it/u=3468613159,957707785&fm=27&gp=0.jpg"); list.add ("http://img3.imgtn.bdimg.com/it/u=2971205354,485034289&fm=27&gp=0.jpg"); list.add ("http://f10.baidu.com/it/u=2881303562,336932824&fm=72"); list.add ("http://f11.baidu.com/it/u=681755471.2018070071&fm=72"); list.add ("http://f10.baidu.com/it/u=960650584.863938083&fm=72"); list.add ("http://img0.imgtn.bdimg.com/it/u=783060973,4278100629&fm=27&gp=0.jpg"); list.add ("http://img1.imgtn.bdimg.com/it/u=3743124979,323495668&fm=27&gp=0.jpg"); list.add ("http://img4.imgtn.bdimg.com/it/u=3468613159,957707785&fm=27&gp=0.jpg"); list.add ("http://img3.imgtn.bdimg.com/it/u=2971205354,485034289&fm=27&gp=0.jpg"); // Setting up the layout manager// new GridLayoutManager() Nine-grid layout manager // new LinearLayoutManager() listview LayoutManager // // new StaggeredGridLayoutManager() Waterfall Flow LayoutManager // recyclerView.setLayoutManager(new GridLayoutManager(this,5)); // RecyclerView.SetLayoutManager (New StaggeredGridLayOutManager (3, linearlayout.vertical)); // RecyClerViewAdapter Adapter = RecyclerViewAdapter baru (ini, daftar); Adaptor multiadapter = multiadapter baru (ini, daftar); linearlayoutManager = new linearlayoutManager (this, linearlayoutManager.vertical, false); RecyClerView.SetLayoutManager (linearlayoutManager); RecyclerView.setAdapter (adaptor); // // adapter.setilistener (baru RecyclerViewAdapter.listener () {// @Override // public void onClick (view, posisi int) {// toast.makeText (MainActivity.ini, ""+Posisi, Toast.length_short) .show ();//} @ @east.length_short) .Show (); {// //} //}); RecyclerView.setonsCrollListener (baru RecyclerView.onsCrollListener () {@Override public void onScrollStateChanged (Recyclerview RecyclerView, int newState) {super.onscrollstatechanged (RecyclerView, newState); / / linearlay -linear. public void onscrolled (RecyclerView Recyclerview, int DX, int dy) {super.onscrolled (RecyclerView, DX, DY); // RecyclerView.setoni // Recyclerview.AdditemDecoration (HorizontaldividerItemDecoration.builder baru (ini) // .color (color.red) .build ()); springview = (springview) findViewById (r.id.springview); springview.setHeader (DeFaulTheader baru (ini)); springview.setfooter (DefaultFooter baru (ini)); springview.setListener (springview.onFreshListener () {@Override public void onrefresh () {// unduh springview.onfinishfreshandload ();} @override public void onloadmore () {// di springview.onfinishfreshandandand (); // adapter.notifyDataSetchanged (); }} Tarik tata letak
<? Xml Version = "1.0" encoding = "UTF-8"?> <linearlayout xmlns: android = "http://schemas.android.com/apk/res/android" android: layout_width = "match_parent" android: tata letak_height = "wraper =" or or or ora "dan contoid" android "android" android "android" android "android" android "android" android: " <Imageview android: src = "@mipmap/ic_launcher" android: scaletype = "centercrop" android: id = "@+id/item_simageView" android: tata letak_width = "match_parent" android: tata letak_height = "100dp"/</linearlay>
Segarkan tata letaknya
<? Xml Version = "1.0" encoding = "UTF-8"?> <linearlayout xmlns: android = "http://schemas.android.com/apk/res/android" android: layout_width = "match_parent" android: tata letak_height = "wraper =" or or or ora "dan contoid" android "android" android "android" android "android" android "android" android: " <Imageview android: src = "@mipmap/ic_launcher" android: id = "@+id/item_simageView" android: layout_width = "match_parent" android: layout_height = "100dp"/> <textview android: latar belakang = "@colorprimary" android: layout_height = "wrap_content" android: id = "@+id/item_textView"/> </ linearlayout>
Adaptor multiadapter
Multiadapter kelas publik memperluas RecyclerView.Adapter <RecyclerView.ViewHolder> {konteks konteks privat; Daftar Pribadi <String> Daftar; MultiAdapter publik (konteks konteks, daftar <string> daftar) {this.context = konteks; this.list = daftar; } @Override Public RecyclerView.ViewHolder OnCreateViewHolder (ViewGroup Parent, int viewType) {if (viewType == 0) {view = LayoutInflater.from (konteks) .inflate (r.layout.layout_fitem, Parent, false); mengembalikan fviewHolder (view) baru; } else {view view = LayoutInflater.from (konteks) .inflate (r.layout.layout_sitem, induk, false); mengembalikan SVIEWHOLDER BARU (Lihat); }} @Override public int getItemViewType (posisi int) {Posisi kembali % 2; } @Override public void OnBindViewHolder (pemegang RecyClerView.ViewHolder, posisi int) {if (holder instanceof fviewHolder) {fviewHolder fviewHolder = (fviewHolder) holder; fviewHolder.itemstextView.setText (position+""); Glide.with (Context) .Load (list.get (position)). Ke (fviewHolder.ItemsimageView); // imageloader.getInstance (). DisplayImage (list.get (position), fviewHolder.itemsimageView); } else {sviewHolder sviewHolder = (sviewHolder) pemegang; Glide.with (Context) .Load (list.get (position)). Ke (sviewHolder.itemsimageView); // imageloader.getInstance (). DisplayImage (list.get (position), sviewHolder.itemsimageView); }} @Override int int getItemCount () {return list.size (); } kelas statis fviewHolder memperluas RecyClerView.ViewHolder {@BindView (r.id.item_simageView) item Imageview; @Bindview (r.id.item_textview) TextView ItemStextView; FviewHolder (view view) {super (view); Butterknife.bind (ini, view); }} kelas SViewHolder memperluas RecyClerView.ViewHolder {@BindView (r.id.item_simageView) item ImageView; SviewHolder (view view) {super (view); Butterknife.bind (ini, view); }}}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.