You must be familiar with Rating Start Bar that we see on websites that rate Movies, Music, and Products or for Feedbacks. These are 5 hollow stars that get filled when users select them to set a rating from 1-5 or even odd rankings like 0.5, 1.5, 4.5, and so on. We have this implementation in Android Programming too.
RatingBar in Android is an extension of SeekBar and ProgressBar. User can touch/drag or use arrow keys to set the rating when using the default size RatingBar.
In the Graphical Layout section under the Format Widgets tab you would see the RatingBar: Five Starts with the 1st one darker (as selected), drag it to your layout.xml file.
You would see that tag is added to the XML.
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
Now create an Object of RatingBar in Java class file and map it to this View using R file reference (as we do for any View like Button, TextView, EditText or ImageView e.t.c)
setOnRatingBarChangeListener is the lister that we have to use to get the value set by the user selecting the Stars on screen. We can get the value of the RatingBar by using getRating() method.
Example RatingBar
Layout XML File<RelativeLayout 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"
tools:context="com.code2care.example.ratingbarexample.MainActivity" >
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/rateMessage"
android:layout_centerHorizontal="true"
android:layout_marginBottom="52dp" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/ratingBar"
android:layout_centerHorizontal="true"
android:layout_marginBottom="97dp"
android:contentDescription="@string/rate"
android:src="@drawable/smartphone" />
<TextView
android:id="@+id/rateMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="176dp"
android:text="@string/rate"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
MainActivity.java File
package com.code2care.example.ratingbarexample;
//Button icon form icon8.com
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
RatingBar ratingBar;
TextView rateMessage;
String ratedValue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ratingBar = (RatingBar) findViewById(R.id.ratingBar);
rateMessage = (TextView) findViewById(R.id.rateMessage);
ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
ratedValue = String.valueOf(ratingBar.getRating());
rateMessage.setText("You have rated the Product : "
+ ratedValue + "/5.");
}
});
}
}
You can download this Tutorial from GitHub: https://github.com/code2care/RatingBarExample
Youtube Video Demo: https://www.youtube.com/embed/UcAhtmOUOFU- Android Error Unexpected cast to Button: layout tag was FrameLayout
- ADT quit unexpectedly error on Mac OSX Android Eclipse SDK
- Parsing Data for android-21 failed unsupported major.minor version 51.0
- Android Studio Ctrl Shift o auto import not working
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
- Android : How to make TextView Scrollable
- This class should be public (android.support.v7.internal.widget.ActionBarView.HomeView) Lint Error
- Integrating Android Facebook SDK 3.17.2 Tutorial
- Android R Cannot Be Resolved To A Variable
- Android : Exception raised during rendering: action_bar API 22
- How to take screenshot on Android
- Read Text file from SD Card : Android Programming
- How to make Android EditText not editable
- Your Android SDK is out of date or is missing templates. Please ensure you are using SDK version 22 or later.
- The declared package does not match the expected package Eclipse
- Can't Run SDK Manager find_java.bat issue
- What is Android Toast.LENGTH_SHORT and Toast. LENGTH_LONG durations
- Android Emulator Soft Back button action using Computer keyboard
- Multiline EditText in Android Example
- Use 5G Network on Android Emulator
- Make Android TextView Clickable like Buttons
- How to empty trash in Android Device
- Android : Execute some code after back button is pressed
- Disable Fading Edges Scroll Effect Android Views
- How To Disable Landscape Mode in Android Application
- zsh: command not found [fix] macOS - zsh
- Convert String to int in Java - Java
- Where is .zshrc file located in macOS - MacOS
- Reading .xls and .xlsx Excel file using Apache POI Java Library - Java
- Encode/Decode URL Query String in Notepad++ - NotepadPlusPlus
- Parse XML file in Java using DOM Parser - Java
- Youtube spacebar not working in search on macOS Safari - MacOS
- How to change SharePoint Online site collection or subsite URL address - SharePoint