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 de forma manual o mediante programación, pero vamos a discutir sobre la programación o la dinámica .
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 .
Modifique el archivo activity_main.xml
En este archivo, usamos LinearLayout y configuramos sus atributos como id, padding, etc. y se puede acceder en el archivo Kotlin usando id.
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="wrap_content" android:layout_height="wrap_content" tools:context=".MainActivity" android:orientation="vertical" android:paddingLeft="35dp" android:paddingTop="50dp"> </LinearLayout>
Agregue el nombre de la aplicación en el archivo strings.xml
Aquí, podemos poner todas las strings que se pueden usar en la aplicación en cualquier archivo. Entonces, actualizamos app_name que se puede ver en la parte superior de la actividad.
XML
<resources> <string name="app_name">DynamicRatingBarInKotlin</string> </resources>
Creación de RatingBar en el archivo MainActivity.kt
En primer lugar, declaramos la variable rBar para crear RatingBar y establecer sus atributos usándola.
val rBar = RatingBar(this) val layoutParams = LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) rBar.layoutParams = layoutParams rBar.stepSize = 1.0.toFloat() rBar.numStars = 5
luego, declaramos otra variable para crear un botón como este
val button = Button(this) val layoutParams1 = LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) button.text="Submit Rating"
Después de esto, RatingBar y el botón se agregaron al LinearLayout usando las declaraciones
linearLayout?.addView(rBar) linearLayout?.addView(button)
Kotlin
package com.geeksforgeeks.myfirstkotlinapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.ViewGroup import android.widget.Button import android.widget.LinearLayout import android.widget.RatingBar import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Create RatingBar val rBar = RatingBar(this) val layoutParams = LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) rBar.layoutParams = layoutParams rBar.stepSize = 1.0.toFloat() rBar.numStars = 5 //create button val button = Button(this) val layoutParams1 = LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) button.text="Submit Rating" val linearLayout = findViewById<LinearLayout>(R.id.container) // Add RatingBar and button to LinearLayout linearLayout?.addView(rBar) linearLayout?.addView(button) button?.setOnClickListener { val msg = rBar.rating.toString() Toast.makeText(this@MainActivity, "Given Rating: "+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