Android RatingBar es un widget de interfaz de usuario que se utiliza para obtener la calificación de los clientes o usuarios. Es una extensión de SeekBar y ProgressBar que muestra calificaciones de estrellas y permite a los usuarios dar la calificación haciendo clic en las estrellas.
En RatingBar, podemos establecer el tamaño del paso usando android:stepSize y siempre devolverá un valor de calificación como un número de punto flotante como 1.0, 2.0, 2.5, etc. Al usar el atributo android:numStars podemos especificar el número de estrellas en RatingBar . RatingBar se utiliza para obtener calificaciones de los usuarios o clientes sobre el producto, la película o la experiencia del hotel, etc.
RatingBar se puede crear manualmente o mediante programación, pero vamos a discutir manualmente.
Primero creamos un nuevo proyecto siguiendo los siguientes pasos:
- Haga clic en Archivo , luego en Nuevo => Nuevo proyecto .
- Después de eso, incluya el soporte de Kotlin y haga clic en siguiente.
- Seleccione el SDK mínimo según su conveniencia y haga clic en el botón siguiente .
- Luego seleccione la actividad vacía => siguiente => finalizar .
Diferentes atributos del widget RatingBar
Atributos XML | Descripción |
---|---|
Android: identificación | Se utiliza para identificar de forma única el control. |
android: calificación | Se utiliza para establecer el valor de calificación predeterminado para la barra de calificación. |
android:numEstrellas | Se utiliza para establecer el número de estrellas que se mostrarán. |
android:fondo | Se utiliza para establecer el color de fondo de la barra de calificación. |
Android: relleno | Se utiliza para configurar el relleno para la izquierda, la derecha, la parte superior o la parte inferior de la barra de clasificación. |
Android: tamaño de paso | Se usa para establecer el tamaño de paso en RatingBar como 0.5 o 1. |
Modifique el archivo activity_main.xml
En este archivo, agregamos RatingBar y un botón en LinearLayout. También establezca atributos para ambos widgets como id, stepSize, background, etc.
xml
<?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:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical" android:gravity ="center"> <RatingBar android:id="@+id/rBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:stepSize="0.5" android:theme="@style/Widget.AppCompat.RatingBar" android:background="@color/colorPrimary" android:numStars="4"/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Submit Rating" /> </LinearLayout>
El nombre de la aplicación se puede poner en el archivo strings.xml
xml
<resources> <string name="app_name">RatingkBarInKotlin</string> </resources>
Acceda a RatingBar en el archivo MainActivity.kt
Primero, declararemos la variable rBar para acceder a la Calificación usando el id como
val rBar = findViewById<RatingBar>(R.id.rBar)
luego, declare otro botón variable y acceda al botón usando su id.
val button = findViewById<Button>(R.id.button)
Al final, para mostrar el mensaje de brindis al enviar las calificaciones, codificamos así
button?.setOnClickListener { val msg = rBar.rating.toString() Toast.makeText(this@MainActivity, "Rating is: "+msg, Toast.LENGTH_SHORT).show()
Kotlin
package com.geeksforgeeks.myfirstkotlinapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle 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 rBar = findViewById<RatingBar>(R.id.rBar) if (rBar != null) { val button = findViewById<Button>(R.id.button) button?.setOnClickListener { val msg = rBar.rating.toString() Toast.makeText(this@MainActivity, "Rating is: "+msg, Toast.LENGTH_SHORT).show() } } } }
Archivo AndroidManifest.xml
xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.geeksforgeeks.myfirstkotlinapp"> <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>
Ejecutar como emulador:
Publicación traducida automáticamente
Artículo escrito por Praveenruhil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA