Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

Android Recyclerview GridLayoutManager ระยะห่างคอลัมน์


ตัวอย่างนี้สาธิตเกี่ยวกับระยะห่างคอลัมน์ Android Recyclerview GridLayoutManager

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

    

ในโค้ดด้านบนนี้ เราได้นำ recyclerview แล้ว

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

แพ็คเกจ com.example.myapplication;นำเข้า android.annotation.TargetApi;นำเข้า android.os.Build;นำเข้า android.os.Bundle;นำเข้า android.support.v4.content.ContextCompat;นำเข้า android.support.v7.app .AppCompatActivity นำเข้า android.support.v7.widget.DefaultItemAnimator นำเข้า android.support.v7.widget.DividerItemDecoration นำเข้า android.support.v7.widget.GridLayoutManager นำเข้า android.support.v7.widget.LinearLayoutManager นำเข้า android support.v7.widget.RecyclerView นำเข้า android.support.v7.widget.Toolbar นำเข้า android.widget.TextView นำเข้า android.widget.Toast นำเข้า java.util.ArrayList คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { ข้อความ TextView; ArrayList list =ใหม่ ArrayList<>(); RecyclerView ส่วนตัว recyclerView; customAdapter ส่วนตัว mAdapter; onClickInterface ส่วนตัว onclickInterface; @TargetApi (Build.VERSION_CODES.LOLLIPOP) @ แทนที่โมฆะสาธารณะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); แถบเครื่องมือแถบเครื่องมือ =(android.support.v7.widget.Toolbar) findViewById(R.id.appbarlayout_tool_bar); toolbar.setTitle("นี่คือแถบเครื่องมือ"); setSupportActionBar (แถบเครื่องมือ); onclickInterface =ใหม่ onClickInterface () { @ แทนที่โมฆะสาธารณะ setClick (int abc) { list.remove (abc); Toast.makeText(MainActivity.this,"Position is"+abc,Toast.LENGTH_LONG).show(); mAdapter.notifyDataSetChanged(); } }; recyclerView =(RecyclerView) findViewById (R.id.recycler_view); GridLayoutManager mLayoutManager =ใหม่ GridLayoutManager(getApplicationContext(),2); recyclerView.setLayoutManager (mLayoutManager); recyclerView.setItemAnimator (DefaultItemAnimator ใหม่ ()); mAdapter =customAdapter ใหม่ (นี่ รายการ onclickInterface); recyclerView.setAdapter (mAdapter); recyclerView.addItemDecoration (SpacesItemDecoration ใหม่ (10)); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("prasad"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); }}

ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน src/ customAdapter.java

แพ็คเกจ com.example.myapplication;นำเข้า android.content.Context;นำเข้า android.support.annotation.NonNull;นำเข้า android.support.v7.widget.RecyclerView;นำเข้า android.view.LayoutInflater;นำเข้า android.view.View นำเข้า android.view.ViewGroup นำเข้า android.widget.TextView นำเข้า java.util.ArrayList คลาสสาธารณะ customAdapter ขยาย RecyclerView.Adapter  { บริบทบริบท; ArrayList รายการ; onClickInterface onClickInterface; MyViewHolder คลาสสาธารณะขยาย RecyclerView.ViewHolder { ชื่อ TextView สาธารณะ; MyViewHolder สาธารณะ (ดูมุมมอง) { super (ดู); ชื่อเรื่อง =(TextView) view.findViewById(R.id.title); } } สาธารณะ customAdapter (บริบทบริบท รายการ ArrayList onClickInterface onClickInterface) { this.context =บริบท; this.list =รายการ; this.onClickInterface =onClickInterface; } @NonNull @Override สาธารณะ MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { ดูรายการView =LayoutInflater.from (viewGroup.getContext ()).inflate (R.layout.list_row, viewGroup, false); ส่งคืน MyViewHolder ใหม่ (itemView); } @แทนที่โมฆะสาธารณะ onBindViewHolder(@NonNull MyViewHolder myViewHolder, int int สุดท้าย) { myViewHolder.title.setText(list.get(i)); myViewHolder.title.setOnClickListener ( View.OnClickListener ใหม่ () { @แทนที่โมฆะสาธารณะ onClick (ดู v) { onClickInterface.setClick (i); } }); } @Override int สาธารณะ getItemCount () { return list.size (); }}

ขั้นตอนที่ 5 − เพิ่มรหัสต่อไปนี้ใน res/layout/ list_row.xml.

<รุ่นก่อนหน้า>

ขั้นตอนที่ 6 − เพิ่มรหัสต่อไปนี้ใน src/ onClickInterface

แพ็คเกจ com.example.myapplication; ส่วนต่อประสานสาธารณะ onClickInterface { ถือเป็นโมฆะ setClick (int abc);}

ขั้นตอนที่ 7 − เพิ่มรหัสต่อไปนี้ใน src/ SpacesItemDecoration.java

แพ็คเกจ com.example.myapplication;import android.graphics.Rect;import android.support.v7.widget.RecyclerView;import android.view.View;คลาสสาธารณะ SpacesItemDecoration ขยาย RecyclerView.ItemDecoration { พื้นที่ int ส่วนตัว; SpacesItemDecoration สาธารณะ (พื้นที่ int) { this.space =ช่องว่าง; } @แทนที่โมฆะสาธารณะ getItemOffsets (Rect outRect มุมมองมุมมอง RecyclerView parent สถานะ RecyclerView.State) { outRect.left =space; outRect.right =ช่องว่าง; outRect.bottom =ช่องว่าง; // เพิ่มระยะขอบบนสำหรับรายการแรกเท่านั้นเพื่อหลีกเลี่ยงการเว้นวรรคระหว่างรายการหาก (parent.getChildLayoutPosition(view) ==0) { outRect.top =space; } อื่น ๆ { outRect.top =0; } }}

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการเรียกใช้แอปจากสตูดิโอ Android ให้เปิดไฟล์กิจกรรมของโครงการและคลิกไอคอนเรียกใช้จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก แล้วตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ -

Android Recyclerview GridLayoutManager ระยะห่างคอลัมน์