Cara Membuat RatingBar Material Design Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

Kembali lagi dengan saya, kali ini kita akan belajar mengenai konsep material design pada widget RatingBar di Android Studio, tutorial ini akan membahas mengenai cara membuat serta penggunaan RatingBar untuk aplikasi android.

Tutorial dasar cara membuat RatingBar Material Design pada android studio, start, rating, setOnRatingBarChangeListener, onClickListener, java programming, android studio. Dari WILDAN TECHNO ART.

RatingBar adalah elemen UI yang digunakan untuk mereview sesuatu, contohnya seperti memberikan bintang, memberikan penilaian ke suatu objek seperti game, musik, film, dll. pada umumnya didalam RatingBar terdapat beberapa bintang yang bisa dipilih oleh klien/konsumen, semakin banyak bintang yang di dapat dari klien/konsumen, semakin meningkat juga popularitas pada produk aplikasi tersebut.

Membuat RatingBar pada Aplikasi Android

Buat project baru pada android studio kalian, buat new Empty Activity, berinama "MainActivity".

Untuk menambahkan RatingBar, kita akan menggunakan AppCompatRatingBar yang berasal dari android-support-v7 library, tujuannya agar style dari RatingBar tersebut mengikuti aturan dari Material Design saat aplikasi dijalankan pada varsi android dibawah lollipop.

Kalian dapat melihat versi dari android-support-v7 library pada file build.gradle (direktori app), contohnya seperti ini:

dependencies {
    compile 'com.android.support:appcompat-v7:26.1.0'
}

Baca Juga:

Untuk menerapkan RatingBar pada project kita, buka file activity_main.xml, disini saya akan menembahkan beberapa widget pendukung seperti, Button dan TextView, gambarannya seperti ini:

WildanTechnoArt-Screenshot_RatingBar Example

Berikut ini adalah kode xml pada layout tersebut:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="12dp"
    android:orientation="vertical"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Berikan Penilaian Anda:"
        android:textSize="16sp"
        android:textStyle="bold" />

    <android.support.v7.widget.AppCompatRatingBar
        android:id="@+id/penilaian"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:rating="0"
        android:stepSize="0.5" />

    <Button
        android:id="@+id/submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Kirim" />

    <TextView
        android:id="@+id/rate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Rating:"
        android:textSize="16sp"
        android:textStyle="bold" />
</LinearLayout>

Pada RatingBar tersebut ada beberapa artibut yang bisa kalian set, yaitu:

  • android:numStarts jumlah maksimal bintang yang bisa diisi oleh user.
  • android:rating nilai default pada rating
  • android:stepSize yaitu skala pada rating, diisi 0.5 agar kita bisa memberikan rating dengan nilai setengah, seperti 0.5, 1.5, dsb. 

Selanjutnya buka file MainActivity.java, masukan source code berikut ini:

package android.cianjur.developer.net.basicandroid;

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

public class MainActivity extends AppCompatActivity{

    private TextView getRating;
    private Button Submit;
    private AppCompatRatingBar RatingBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getRating = findViewById(R.id.rate);
        Submit = findViewById(R.id.submit);
        RatingBar = findViewById(R.id.penilaian);
        // Menambahkan Listener Pada RatingBar
        RatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float nilai, boolean b) {
                // Nilai pada TextView Akan Berupa/Terupdate Saat Nilai Ratingnya Berubah
                getRating.setText("Rating: "+nilai);
            }
        });
        Submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // Menampilkan Pesan Berupa Nilai Yang Di inputkan User Pada RatingBar
                Toast.makeText(getApplicationContext(), "Nilai Yang Anda Kirimkan: "+RatingBar.getRating(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Coba kalian perhatikan, disana kita menambahkan listener pada RatingBar, agar saat nilai ratingnya berubah maka nilai pada textView juga akan ikut terupdate dan saat user menekan tombol kirim, maka akan muncul pesan yang menampilkan nilai dari user.

Jalankan project tersebut, hasilnya akan terlihat seperti ini:

WildanTechnoArt-Screenshot_RatingBar Example Finish

Terimakasih telah mengunjungi blog pribadi saya, semoga tutorial yang saya bagikan bisa bermanfaat untuk kalian, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.