يشارك هذا المثال تأثير تحديث السحب الربيعي والتحميل المنسدل للرجوع إليه. المحتوى المحدد كما يلي
التبعية:
compile 'com.android.support:recyclerview-v7:25.1' compile 'com.liaoinstan.springview: Library: 1.3.0' files ('libs/glide-3.7.0.jar') Activity_main تخطيط
<؟ xmlns: tools = "http://schemas.android.com/tools" Android: layout_width = "match_parent" android: layout_height = "match_parent" android: eachtation = "vertical" tools: context = "muhanxi.recycleview <com.liaoinstan.springview.widget.springview android: layout_width = "match_parent" Android: id = "@+id/springview" Android: layout_height = "match_parent"> <android.support.v7.widget.recyclerview android: Android: layout_height = "match_parent" Android: id = "@+id/recyclerview"/> </comm.liaoinstan.springview.widget.springview> </linearlayout>
الطبقة الرئيسية النشاط الرئيسي
يمتد النشاط الرئيسي للطبقة العامة النشاط {private recyclerview recyclerview ؛ قائمة خاصة <Tring> list = new ArrayList <> () ؛ Springview Springview الخاص ؛ LineArlayoutManager الخاص LinearLayoutManager ؛ requiresapi (api = build.version_codes.gingerbread) override void oncreate (bundle saveInstancestate) {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=68175471،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=346861313159،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=68175471،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=346861313159،957707785&fm=27&gp=0.jpg") ؛ list.add ("http://img3.imgtn.bdimg.com/it/u=2971205354،485034289&fm=27&gp=0.jpg") ؛ // إعداد مدير التخطيط // الجديد GridLayoutManager () مدير تخطيط تسعة شبكة // new LineArlayoutManager () ListView LayoutManager // // new StaggerGleTlayoutManager () تخطيط Flowing Flow LayoutManager // recyclerviewiew.setlayoutmanager (New Gridlayoutmanager (هذا ، 5)) ؛ // recyclerview.setlayoutmanager (New StaggeredGridLayoutManager (3 ، linearlayout.vertical)) ؛ // recyclerviewAdapter Adapter = New RESYCLEVIEWADAPTER (this ، list) ؛ MultiAdapter Adapter = New MultiAdapter (this ، List) ؛ LineArlayoutManager = new LineArlayoutManager (هذا ، linearlayoutManager.Vertical ، false) ؛ recyclerview.setLayoutManager (LinearLayoutManager) ؛ recyclerview.setAdapter (محول) ؛ // // adapter.setilistener (new recyclerviewAdapter.Listener () {// override // public void onClick (عرض العرض ، الموضع int) {// toast.maketext (mainActivity.this ، "+position ، toast.length_short) .show () ؛ //} // //} //}) ؛ recyclerview.setonscrolllistener (new recyclerview.onscrolllistener () {Override public void onScrollStateChanged (recyclerview recyclerview ، int newstate) {super.onscrollStateChanged (recyclerview ، newstate) ؛ onScrolled (Recyclerview Recyclerview ، int dx ، int dy) {super.onscrolded (Recyclerview ، dx ، dy) ؛ // recyclerview.setoni // recyclerview.additemDecoration (New HorizontalDidiDiMDecoration.Builder (this) // .Color (color.red) .build ()) ؛ Springview = (Springview) findViewById (r.id.springView) ؛ Springview.Setheader (New Defaultheader (this)) ؛ Springview.setFooter (New DefaultFooter (this)) ؛ springview.setListener (new SpringView.onfreshListener () {Override public void onrefresh () {// download springview.onfinishfreshandload () ؛} override public void onloadmore () {// on springview.onfinishfreshandload () ؛}}) ؛ // adapter.notifyDatAstechanged () ؛ }} سحب التصميم
<؟ <imageview android: src = "@mipmap/ic_launcher" Android: scaletype = "centercrop" android: id = "@id/item_simageview" android: layout_width = "match_parent" android: layout_height = "100dp"/>//lineArlayout>
تحديث التصميم
<؟ <ImageView Android: src = "@mipmap/ic_launcher" Android: id = "@id/item_simageview" Android: layout_width = "match_parent" Android: layout_height = "100dp"/> <textView Android:@color/colorprimary "android: Android: layout_height = "wall_content" Android: id = "@+id/item_textview"/> </linearlayout>
محول MultiAdapter
يمتد MultiAdapter من الفئة العامة RecyClerview.adapter <recyclerview.viewholder> {سياق السياق الخاص ؛ قائمة خاصة <String> ؛ MultiAdapter العامة (سياق السياق ، قائمة <Tring> 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 ( إرجاع FVIEWHOLDER جديد (عرض) ؛ } آخر {view view = layoutinflater.from (context) .inflate (r.layout.layout_sitem ، parent ، false) ؛ إرجاع New Sviewholder (عرض) ؛ }} Override public int getItemViewType (int position) {return position ٪ 2 ؛ } Override public void onBindViewholder (recyclerview.viewholder Holder ، int position) {if (holder extryof fviewholder) {fviewholder fviewholder = (fviewholder) holder ؛ fviewholder.itemStextView.settext (موضع+"") ؛ glide.with (context) .Load (list.get (position)). // ImageLoader.getInstance (). DisplayImage (list.get (position) ، fviewholder.itemsimageview) ؛ } آخر {sviewholder sviewholder = (sviewholder) حامل ؛ glide.with (context) .load (list.get (position)). // ImageLoader.getInstance (). DisplayImage (list.get (position) ، sviewholder.itemsimageview) ؛ }} Override public int getItemCount () {return list.size () ؛ } فئة ثابتة fviewholder تمتد recyclerview.viewholder {bindview ( bindview (r.id.item_textview) textView itemStextView ؛ fViewHolder (عرض العرض) {super (view) ؛ butterknife.bind (هذا ، عرض) ؛ }} class sviewholder تمتد recyclerview.viewholder {bindview ( sviewholder (عرض العرض) {super (view) ؛ butterknife.bind (هذا ، عرض) ؛ }}}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.