Android RatingBar Using Kotlin With Example

Greetings!
We have recently published 100+ articles on android tutorials with kotlin and java. If you need, you may visit Android Tutorial for beginners page. You can also check Kotlin Tutorial for beginners

Hello Readers! In this post, we are going to learn about how to use android ratingBar using kotlin in any android application. We will also learn about different attributes of android ratingBar widget that can be used to customise this widget.

Output

Tutorialwing Android RatingBar Output Android RatingBar Using Kotlin

Tutorialwing Android RatingBar Output

Getting Started

Android RatingBar can be defined as below –

Android RatingBar is a widget extended from SeekBar and ProgressBar that shows a rating in stars. The user can either touch or drag the arrow to set the rating.

Different Attributes of Android RatingBar Widget

Some of the popular attributes of android RatingBar are –

Sr. XML Attributes Description
1 android:isIndicator This attribute is used to specify if this rating bar is to be used as an indicator. An an indicator, it can not be changed by the user.
2 android:numStars It is used to set the number of rating items to be shown.
3 android:rating Sets the default rating.
4 android:stepSize It is used to set the step size of the rating.

Some of the popular attributes of android ratingBar inherited from AbsSeekBar are –

Sr. XML Attributes Description
1 android:thumbTint This attribute is used to set tint to apply to thumb drawable
2 android:thumbTintMode This attribute is used to set blending mode used to apply the thumb tint
3 android:tickMarkTint This attribute is used to set tint to apply to the tick mark drawable.
4 android:tickMarkTintMode This attribute is used to set blending mode used to apply the tick mark tint.

Some of the popular attributes of android ratingBar inherited from ProgressBar are –

Sr. XML Attributes Description
1 android:maxHeight It is used to set maximum height of the view.
2 android:minHeight It is used to set minimum height of the view.
3 android:maxWidth It is used to set maximum width of the view.
4 android:minWidth It is used to set minimum width of the view.

Some of the popular attributes of android ratingBar inherited from View are –

Sr. XML Attributes Description
1 android:background It is used to set background of the view
2 android:id It is used to set id of the view. Note – Id must always be unique in an xml file
3 android:padding It is used to set padding(left, right, top, bottom) to the view.
4 android:visibility It is used to set visibility(show/hide) of the view.



Example of Android RatingBar Using Kotlin

At first, we will create an android application. Then, we will use ratingBar widget in this application.

1. Creating New Project in Kotlin

Follow steps below to create new project. Please ignore the steps if you have already created the project.

Step Description
1. Open Android Studio.
2. Go to File => New => New Project. Write application name as RatingBar. Then, check Include Kotlin Support and click next button.
3. Select minimum SDK you need. However, we have selected 17 as minimum SDK. Then, click next button
4. Then, select Empty Activity => click next => click finish.
5. You will get a newly created project successfully if you have followed steps properly.

Since we have a project now, we will modify xml and other file to use ratingBar using kotlin file in the application.

2. Modify values folder

No values folders have been modified. So, we are not going to mention them here.

3. Use RatingBar Widget in xml file

Open src/main/res/layout/activity_main.xml file and add below code into it.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:gravity="center"
	android:orientation="vertical">

	<RatingBar
		android:id="@+id/ratingBar"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:stepSize="0.5"
		android:theme="@style/RatingBar"/>

	<Button
		android:id="@+id/button"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="Submit"/>

</LinearLayout>

In activity_main.xml file, we have defined ratingBar and button widget. Notice the attribute android:stepSize=”0.5″ in RatingBar. This attribute is responsible to set steps in which value will increment/decrement while selecting the rating in the RatingBar. Attribute android:theme=”@style/RatingBar” is used to set theme/style in the ratingBar. You can also set your custom theme in it.

Now, we will access button and ratingbar using kotlin file to perform some actions on them.

4. Access Android RatingBar Using Kotlin file

Open src/main/java/com.tutorialwing.ratingbar/MainActivity.kt file and add below code into it.

package com.tutorialwing.ratingbar

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

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val ratingBar = findViewById<RatingBar>(R.id.ratingBar)
        if (ratingBar != null) {
            val button = findViewById<Button>(R.id.button)
            button?.setOnClickListener {
                val msg = ratingBar.rating.toString()
                Toast.makeText(this@MainActivity, msg, Toast.LENGTH_SHORT).show()
            }
        }
    }
}

In MainActivity.kt file, we have accessed ratingBar and button widgets. Then, we have set click listener on button to show toast message, that displays selected rating in the ratingBar, whenever it is clicked.

Since AndroidManifest.xml file is very important in the application, we are also going to see the content inside this file.

AndroidManifest.xml file

Code inside main/AndroidManifest.xml file is as below.

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.tutorialwing.ratingbar"
		  xmlns:android="http://schemas.android.com/apk/res/android">

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

When we run the program, we will get output as shown above.

That’s end of our tutorial on Android RatingBar using Kotlin.

Support Us

If you like Tutorialwing and would like to contribute, you can email an article on any educational topic at tutorialwing@gmail.com. We would love to publish your article. See your article on Tutorialwing and help others with your knowledge. Follow Facebook, LinkedIn, Google+, Twitter, Youtube for latest updates.
Greetings!
We have recently published 100+ articles on android tutorials with kotlin and java. If you need, you may visit Android Tutorial for beginners page. You can also check Kotlin Tutorial for beginners