কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে কাস্টম রেটিংবার (RatingBar) তৈরি করা

RatingBar ব্যবহার করে স্টার রেটিং সিস্টেম বানানো

এই উদাহরণে অ্যান্ড্রয়েডের বিল্ট-ইন RatingBar উইজেট ব্যবহার করে একটি সাধারণ রেটিং সিস্টেম তৈরি করা হয়েছে।

প্রথম ধাপ: প্রজেক্ট তৈরি করুন

Android Studio-তে নতুন প্রজেক্ট তৈরি করুন।

দ্বিতীয় ধাপ: লেআউট ফাইল

res/layout/activity_main.xml - একটি RatingBar এবং একটি চেক বাটন:

<?xml version="1.0" encoding="utf-8"?>
<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="16sp"
    tools:context=".MainActivity">
    <RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:rating="2.0"
        android:stepSize="1.0"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:id="@+id/ratingBar"/>
    <Button
        android:text="CHECK"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/ratingBar"
        android:layout_centerHorizontal="true"
        android:id="@+id/buttonCheck"/>
</RelativeLayout>

তৃতীয় ধাপ: মেইন এক্টিভিটিতে রেটিংবার লজিক

src/MainActivity.java - লিসেনার যোগ করে রেটিং পরিবর্তন এবং বাটন ক্লিকে মান পড়া:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    RatingBar ratingBar;
    Button button;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        ratingBar = findViewById(R.id.ratingBar);
        ratingBar.setNumStars(5); // কোড থেকেও সেট করা যায়
        
        button = findViewById(R.id.buttonCheck);
        
        // রেটিং পরিবর্তন হলে রিয়েল-টাইম টোস্ট
        ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                Toast.makeText(MainActivity.this, "Stars: " + (int)rating, Toast.LENGTH_SHORT).show();
            }
        });
        
        // চেক বাটন ক্লিক করলে বর্তমান রেটিং দেখানো
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Stars: " + (int)ratingBar.getRating(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

চতুর্থ ধাপ: ম্যানিফেস্ট ফাইল

<?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>

RatingBar এর গুরুত্বপূর্ণ এট্রিবিউটসমূহ

  • android:numStars - মোট কতগুলো তারকা দেখাবে (ডিফল্ট ৫)
  • android:rating - ডিফল্ট রেটিং মান (ফ্লোট)
  • android:stepSize - কতটুকু ধাপে রেটিং বাড়বে (০.৫ = অর্ধেক তারকা, ১.০ = পূর্ণ তারকা)
  • android:isIndicator - true হলে ইউজার রেটিং দিতে পারবে না (শুধু দেখাবে)

কাস্টম স্টাইল (ঐচ্ছিক)

styles.xml-এ কাস্টম স্টাইল ডিফাইন করে তারকার ছবি, রঙ ইত্যাদি পরিবর্তন করা যায়:

<style name="CustomRatingBar" parent="Widget.AppCompat.RatingBar">
    <item name="android:progressDrawable">@drawable/custom_rating_stars</item>
    <item name="android:minHeight">48dp</item>
    <item name="android:maxHeight">48dp</item>
</style>

অ্যাপ্লিকেশন চালান

তারকাগুলো টাচ করলে রেটিং পরিবর্তন হবে এবং টোস্ট দেখাবে। "CHECK" বাটনে ক্লিক করলেও বর্তমান রেটিং দেখাবে।

অ্যান্ড্রয়েডে কাস্টম রেটিংবার (RatingBar) তৈরি করা অ্যান্ড্রয়েডে কাস্টম রেটিংবার (RatingBar) তৈরি করা

  1. অ্যান্ড্রয়েডে XML স্টাইল ব্যবহার করে কাস্টম বাটন তৈরি করার পদ্ধতি

  2. অ্যান্ড্রয়েড অ্যাপে কাস্টম অ্যালার্ট ডায়ালগ তৈরির পদ্ধতি

  3. অ্যান্ড্রয়েড অ্যাপে TextToSpeech তৈরি করার পদ্ধতি

  4. Facebook-এ Android অ্যাপ তৈরি করার পদ্ধতি