এই উদাহরণটি দেখায় কিভাবে আমি অ্যান্ড্রয়েডে অনুভূমিক তালিকা ভিউ তৈরি করব।
ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে প্রয়োজনীয় সমস্ত বিবরণ পূরণ করুন৷
অনুগ্রহ করে Gradle -
-এ নীচের-প্রদত্ত নির্ভরতা যোগ করুনimplementation 'com.android.support:recyclerview-v7:28.0.0' implementation 'com.android.support:cardview-v7:28.0.0'
ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="6dp" tools:context=".MainActivity"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
ধাপ 3 − src/MainActivity.java
-এ নিম্নলিখিত কোড যোগ করুনimport androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; import java.util.ArrayList; import java.util.Arrays; public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; RecyclerView.LayoutManager layoutManager; RecyclerView.Adapter adapter; ArrayList<String> numberName; ArrayList<Integer> numberImage; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); numberName = new ArrayList<>(Arrays.asList("Four...", "Nine... ", "Seven...", "Six...", "Ten...", "Three...", "Two...")); numberImage = new ArrayList<>(Arrays.asList(R.drawable.four, R.drawable.nine, R.drawable.seven, R.drawable.six, R.drawable.ten, R.drawable.three, R.drawable.two)); // Calling the RecyclerView recyclerView = findViewById(R.id.recyclerView); recyclerView.setHasFixedSize(true); // The number of Columns layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(layoutManager); adapter = new MyAdapter(MainActivity.this, numberName, numberImage); recyclerView.setAdapter(adapter); } }
পদক্ষেপ 4৷ − একটি জাভা ক্লাস তৈরি করুন (MyAdapter.java) এবং নিম্নলিখিত কোড যোগ করুন −
import android.content.Context; import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import androidx.recyclerview.widget.RecyclerView; class MyAdapter extends RecyclerView.Adapter <MyAdapter.ViewHolder>{ private ArrayList<String>numberName; private ArrayList<Integer> numberImage; private Context context; MyAdapter(Context context, ArrayList<String> numberName, ArrayList<Integer> numberImage) { super(); this.context = context; this.numberName = numberName; this.numberImage = numberImage; } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { View v = LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.gridlayout, viewGroup, false); return new ViewHolder(v); } @Override public void onBindViewHolder(ViewHolder viewHolder, int i) { viewHolder.textView.setText(numberName.get(i)); viewHolder.imgThumbnail.setImageResource(numberImage.get(i)); viewHolder.setClickListener(new ItemClickListener() { @Override public void onClick(View view, int position, boolean isLongClick) { if (isLongClick) { Toast.makeText(context, "#" + position + " - " + numberName.get(position) + " (Long click)", Toast.LENGTH_SHORT).show(); context.startActivity(new Intent(context, MainActivity.class)); } else { Toast.makeText(context, "#" + position + " - " + numberName.get(position), Toast.LENGTH_SHORT).show(); } } }); } @Override public int getItemCount() { return numberName.size(); } public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { ImageView imgThumbnail; TextView textView; private ItemClickListener clickListener; ViewHolder(View itemView) { super(itemView); imgThumbnail = itemView.findViewById(R.id.imgThumbnail); textView = itemView.findViewById(R.id.textView); itemView.setOnClickListener(this); itemView.setOnLongClickListener(this); } void setClickListener(ItemClickListener itemClickListener) { this.clickListener = itemClickListener; } @Override public void onClick(View view) { clickListener.onClick(view, getPosition(), false); } @Override public boolean onLongClick(View view) { clickListener.onClick(view, getPosition(), true); return true; } } }
ধাপ 5 − একটি লেআউট রিসোর্স ফাইল তৈরি করুন এবং তালিকায় নিম্নলিখিত কোডগুলি তৈরি করুন
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:card_view="https://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="0dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginTop="9dp" card_view:cardCornerRadius="3dp" card_view:cardElevation="0.01dp"> <RelativeLayout android:id="@+id/topLayout" android:layout_width="match_parent" android:layout_height="160dp"> <ImageView android:id="@+id/imgThumbnail" android:layout_width="match_parent" android:layout_height="150dp" android:layout_above="@+id/textView" android:layout_centerHorizontal="true" android:scaleType="fitXY" /> <TextView android:id="@+id/textView" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_alignParentBottom="true" android:layout_alignParentStart="true" android:layout_gravity="bottom" anroid:background="#ff444444" android:gravity="center_vertical" android:paddingStart="5dp" android:paddingEnd="2dp" android:text="Test" android:textColor="#fff" android:textSize="20sp" /> </RelativeLayout> </androidx.cardview.widget.CardView> </LinearLayout>
ধাপ 6 − একটি ইন্টারফেস তৈরি করুন (ItemClickListener.java) এবং নিম্নলিখিত কোড যোগ করুন −
import android.view.View; interface ItemClickListener { void onClick(View view, int position, boolean isLongClick); }
পদক্ষেপ 7 − androidManifest.xml
-এ নিম্নলিখিত কোড যোগ করুন<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
আসুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি৷ আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং রানে ক্লিক করুন টুলবার থেকে আইকন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -