ตัวอย่างนี้แบ่งปันเอฟเฟกต์ของการรีเฟรชการดึงสปริงและการโหลดแบบดรอปดาวน์สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
การพึ่งพา:
คอมไพล์ 'com.android.support:RecycLerview-V7:25.3.1' Compile 'com.liaoinstan.springView: Library: 1.3.0' ไฟล์คอมไพล์ ('libs/glide-3.7.0.jar') กิจกรรม activity_main
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <linearlayout xmlns: Android = "http://schemas.android.com/apk/res/android" xmlns: app = "http://schemas.android.com xmlns: tools = "http://schemas.android.com/tools" Android: layout_width = "match_parent" Android: layout_height = "match_parent" Android: Orientation = "แนวตั้ง" <com.liaoinstan.springview.widget.springview Android: layout_width = "Match_parent" Android: id = "@+id/springview" Android: layout_height = "match_parent"> <Android.support.v7.widget. Android: layout_height = "match_parent" Android: id = "@+id/recyclerview"/> </com.liaoinstan.springview.widget.springView>
MainActivity Main Class
MainActivity ระดับสาธารณะขยายกิจกรรม {Recyclerview ส่วนตัว Recyclerview; รายการส่วนตัว <String> list = new ArrayList <> (); SpringView Private 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,32349566668&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,32349566668&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"); // การตั้งค่าผู้จัดการเค้าโครง // ใหม่ gridlayoutManager () ผู้จัดการเค้าโครงเก้ากริด // ใหม่ linearlayoutManager () ListView LayoutManager // // ใหม่ SmoneedGridLayoutManager () LayoutManager // recyclerview.setLayoutManager // recyclerview.setLayoutManager (ใหม่ SmotheredGridLayoutManager (3, LinearLayout.vertical)); // recyclerviewAdapter adapter = ใหม่ RecyclerViewAdapter (รายการนี้); อะแดปเตอร์ MultiAdapter = MultiAdapter ใหม่ (รายการนี้); linearLayoutManager = ใหม่ linearlayoutManager (นี่, linearlayoutManager.vertical, false); Recyclerview.setLayoutManager (LinearLayoutManager); Recyclerview.setAdapter (อะแดปเตอร์); // // Adapter.setilistener (ใหม่ RecyclerViewAdapter.listener () {// @Override // โมฆะสาธารณะ onClick (ดูมุมมอง, ตำแหน่ง int) {// toast.maketext (mainactivity.his, "+ตำแหน่ง, toast.length_short) ตำแหน่ง) { // // } // }); Recyclerview.setonscrollListener (ใหม่ recyclerview.onscrollListener () {@Override โมฆะสาธารณะ onscrollStateChanged (Recyclerview Recyclerview, int newState) โมฆะสาธารณะ onscrolled (Recyclerview Recyclerview, int dx, int dy) {super.onscrolled (recyclerview, dx, dy); // recyclerview.setoni // recyclerview.additemdecoration (ใหม่ HorizontaldividerItemDecoration.builder (นี่) // .Color (color.Red) .build ()); SpringView = (SpringView) FindViewById (r.id.springView); SpringView.Setheader (New Defaultheader (นี่)); SpringView.SetFooter (ใหม่ DefaultFooter (นี่)); SpringView.setListener (ใหม่ SpringView.onFreshListener () {@Override โมฆะสาธารณะ onrefresh () {// ดาวน์โหลด SpringView.onfinishFreshandload ();} @Override โมฆะสาธารณะ onloadmore () // Adapter.notifyDatasetChanged (); - ดึงเค้าโครงลง
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <linearlayout xmlns: Android = "http://schemas.android.com/apk/res/android" Android: lyout_width = "Match_parent" Android Android: Orientation = "Vertical"> <ImageView Android: src = "@mipmap/ic_launcher" Android: scaleType = "centercrop" Android: id = "@+id/item_simageView" Android: layout = "Match_parent" Android
รีเฟรชเค้าโครง
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <linearlayout xmlns: Android = "http://schemas.android.com/apk/res/android" Android: lyout_width = "Match_parent" Android Android: Orientation = "Vertical"> <ImageView Android: src = "@mipmap/ic_launcher" Android: id = "@+id/item_simageview" Android: layout_width = "match_parent" Android Android: layout_width = "match_parent" Android: layout_height = "wrap_content" Android: id = "@+ide/item_textview"/> </linearlayout>
อะแดปเตอร์หลายเครื่อง
Public Class MultiAdapter ขยาย Recyclerview.adapter <Recyclerview.Viewholder> {บริบทส่วนตัว; รายการส่วนตัว <String> รายการ; Public Multiadapter (บริบทบริบท, รายการ <String> รายการ) {this.context = บริบท; this.list = list; } @Override Public RecyclerView.ViewHolder OnCreateViewHolder (ViewGroup Parent, Int ViewType) {ถ้า (viewType == 0) {ดูดู = layoutInflater.From (บริบท) .inflate ส่งคืน fviewholder ใหม่ (ดู); } else {view view = layoutinflater.from (บริบท) .inflate (r.layout.layout_sitem, พาเรนต์, เท็จ); ส่งคืน sviewholder ใหม่ (ดู); }} @Override สาธารณะ int getItEmViewType (ตำแหน่ง int) {ตำแหน่งส่งคืน % 2; } @Override โมฆะสาธารณะ onBindViewholder (RecyclerView.Viewholder Holder, ตำแหน่ง int) {ถ้า (ผู้ถืออินสแตนซ์ของ fviewholder) {fviewholder fviewholder = (fviewholder) ผู้ถือ; fviewholder.itemstextview.settext (ตำแหน่ง+""); Glide.with (บริบท) .load (list.get (ตำแหน่ง)) เข้าสู่ (fviewholder.itemsimageview); // imageLoader.getInstance (). displayImage (list.get (ตำแหน่ง), fviewholder.itemsimageview); } else {sviewholder sviewholder = (sviewholder) ผู้ถือ; Glide.with (บริบท) .load (list.get (ตำแหน่ง)) เข้าสู่ (sviewholder.itemsimageview); // imageLoader.getInstance (). displayImage (list.get (ตำแหน่ง), sviewholder.itemsimageview); }} @Override สาธารณะ int getItemCount () {return list.size (); } คลาสคงที่ fviewholder ขยาย recyclerview.viewholder {@bindview (r.id.item_simageview) imageView itemiteImageView; @BindView (r.id.item_textview) TextView itemstextView; fviewholder (ดูดู) {super (ดู); butterknife.bind (มุมมองนี้); }} คลาส sviewholder ขยาย RecyclerView.Viewholder {@BindView (r.id.item_simageView) ImageView itectImageView; sviewholder (ดูดู) {super (ดู); butterknife.bind (มุมมองนี้); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น