Este ejemplo comparte el efecto de la actualización de pulverización de primavera y la carga desplegable para su referencia. El contenido específico es el siguiente
Dependencia:
Compilar 'com.android.support:recyclerview-v7:25.3.1' compilar 'com.liaoinstan.springview: biblioteca: 1.3.0' Compilar archivos ('libs/glide-3.7.0.jar') Activity_Main Diseño
<? xml versión = "1.0" encoding = "utf-8"?> <linealLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: app = "http://schemas.android.com/apk/res-auto xmlns: herramientas = "http://schemas.android.com/tools" Android: Layout_width = "Match_parent" Android: Layout_height = "Match_parent" Android: Orientation = "Vertical" Herramient <com.liaoinstan.springview.widget.springview android: layout_width = "match_parent" android: id = "@+id/springview" android: layout_height = "match_parent"> <android.support.v7.widget.recyclervieid: lectout_width = "Match_arent" Android: Layout_height = "Match_parent" Android: id = "@+id/recyclerview"/> </com.liaoinstan.springview.widget.springview> </linearLayout>
Clase principal de la clase principal
La clase pública MainActivity extiende la actividad {Private RecyclerView RecyclerView; Lista privada <String> list = new ArrayList <> (); Springview privado Springview; Private LinearLayoutManager LinearLayoutManager; @Requiresapi (api = build.version_codes.gingerbread) @Override void oncreate (bundle saveDInStancestate) {super.Oncreate (saveDInStancestate); setContentView (r.layout.activity_main); recyclerview = (recyclerView) findViewByid (r.id.recyclerview); 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,3234956668&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,3234956668&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"); // Configuración del administrador de diseño // nuevo GridLayoutManager () Nine-Grid Layout Manager // new LinearLayoutManager () ListView LayoutManager // // New StaggeredGridLayoutManager () Waterfall FloweutManager // RecyclerView.setLeautManager (nuevo GridLayoutManager (this, 5)); // recyclerview.setLayoutManager (new StaggeredGridLayoutManager (3, LinearLayout.vertical)); // recyclerViewAdapter adaptador = nuevo RecyclerViewAdapter (this, list); Adaptador multiadapter = new MultiAdapter (this, list); LinearLayoutManager = new LinearLayoutManager (this, LinearLayoutManager.Verical, False); recyclerview.setLayoutManager (LinearLayoutManager); recyclerview.setAdapter (adaptador); // // adapter.setIlistener (new RecyClerviewAdapter.listener () {// @Override // public void onClick (ver vista, int posición) {// toast.maketeext (mainactivity.this, ""+posición, toast.length_short) .show (); //} // // @Override // public voidcLick (Ver, ver, ver, ver). {// //} //}); recyclerview.setonscrollListener (nuevo recyclerview.onscrollListener () {@Override public void onScrollStateChanged (recyclerview recyclerView, int newState) {super.onscrollStateChanged (recyclervewew, newState); // lineaTlautManager.findfirstvisible () void onScrolled (recyclerView recyclerView, int dx, int dy) {super.onscrolled (recyclerview, dx, dy); // recyclerview.setoni // recyclerview.additemdecoration (new HorizontalDividerItemDecoration.Builder (this) // .color (color.red) .build ()); SpringView = (SpringView) FindViewByID (R.ID.SpringView); springview.setheader (nuevo DeFaulTheader (this)); springView.setFooter (nuevo defaultFooter (this)); SpringView.SetListener (nuevo SpringView.onFreshListener () {@Override public void onRefresh () {// Descargar springview.onfinishfreshandload ();} @Override public void onloadmore () {// en springview.onfinishFreshandLoad ();}); // adapter.notifyDataSetchanged (); }} Diseño de retiro
<? xml versión = "1.0" encoding = "utf-8"?> <linealLayout xmlns: android = "http://schemas.android.com/apk/res/Android" android: Layout_width = "Match_Parent" android: Layout_Height = "wrap_content" android: gravity = "Center" y "Center" <ImageView Android: src = "@mipmap/ic_launcher" android: scaletype = "centercrop" android: id = "@+id/item_simageView" android: loinout_width = "match_parent" android: layout_height = "100dp"/> </lineallayout>
Actualiza el diseño
<? xml versión = "1.0" encoding = "utf-8"?> <linealLayout xmlns: android = "http://schemas.android.com/apk/res/Android" android: Layout_width = "Match_Parent" android: Layout_Height = "wrap_content" android: gravity = "Center" y "Center" <ImageView Android: src = "@mipmap/ic_launcher" android: id = "@+id/item_siMageView" android: Layout_width = "Match_parent" Android: Layout_height = "100dp"/> <TextView Android: Background = "@Colorprimary" android: Layout_width = "Match_Parent" Android: Layout_height = "wrap_content" Android: id = "@+id/item_textview"/> </LinearLayout>
Adaptador de múltiples
Public Class MultiAdapter extiende recyclerview.Adapter <recyclerview.viewholder> {contexto privado context; Lista de lista privada <String>; Public MultiAdapter (contexto context, list <string> list) {this.context = context; this.list = list; } @Override public recyclerview.viewholder OncreateViewHolder (ViewGroup Parent, int ViewType) {if (ViewType == 0) {View View = LayoutInflater.From (context) .inflate (R.Layout.Layout_Fitem, Parent, False); devolver nuevo fviewholder (ver); } else {View View = LayoutInflater.From (contexto) .inflate (R.Layout.Layout_Sitem, Parent, False); devolver nuevo sviewholder (ver); }} @Override public int } @Override public void onbindViewHolder (recyclerView.ViewHolder Holder, int Position) {if (Holder instanceOf fViewHolder) {FViewHolder fViewHolder = (FViewHolder) Holder; fviewholder.itemstextView.settext (posición+""); Glide.with (context) .Load (list.get (posición)). In (fViewHolder.ItemSImageView); // imageLoader.getInstance (). DisplayImage (list.get (posición), fviewholder.ItemsImageView); } else {sviewholder sviewholder = (sviewholder) tither; Glide.with (context) .Load (list.get (posición)). Into (sviewholder.itemsImageView); // imageLoader.getInstance (). DisplayImage (list.get (posición), sviewholder.ItemSImageView); }} @Override public int getItemCount () {return list.size (); } La clase estática FViewHolder extiende recyclerView.viewholder {@bindview (r.id.item_simageView) ImageView itemsImageView; @BindView (r.id.item_textview) textView itemstextView; FViewHolder (Ver vista) {super (Ver); Butterknife.bind (esto, vista); }} class Sviewholder extiende recyclerview.viewholder {@bindview (r.id.item_simageView) ImageView itemsImageView; Sviewholder (ver vista) {super (ver); Butterknife.bind (esto, vista); }}}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.