본문 바로가기
안드로이드 코틀린

[Kotilin][Android] RatingBar을 사용해서 별점만들기

by teamnova 2024. 11. 12.
728x90

이번에는 코틀린 언어로 작성해 보았습니다.

 

RatingBar는 앱 사용시 주로 사용자가 특정항목이나 경험에 점수를 주는것을 볼 수 있습니다.

이는 별점으로 표시되고 사용자가 직관적으로 해당 항목에 만족도를 표현 할 수 있는 기능입니다.

 

예를들면 상품리뷰의 별점을 줄 수 있습니다

  • 전자상거래 앱에서 사용자들이 구매한 상품에 대해 별점을 부여할 수 있습니다. 예를 들어, 사용자가 구매한 전자기기에 대해 1~5개의 별을 부여하여 만족도를 나타낼 수 있습니다. 이 별점은 다른 잠재 구매자들에게 해당 제품의 품질에 대한 인사이트를 제공합니다.

영화 또는 TV 프로그램 평가를 할 수 있습니다.

  • 스트리밍 서비스나 영화 리뷰 애플리케이션에서, 사용자들이 영화를 시청한 후 별점을 매길 수 있습니다. 이는 다른 사용자가 영화를 선택할 때 참고할 수 있는 중요한 정보가 됩니다.

설문 또는 피드백 점수를 줄수 있습니다.

  • 고객 설문 조사에서 사용자에게 별점을 통해 특정 항목에 대한 만족도를 평가하도록 요구할 수 있습니다. 예를 들어, "이번 상담에 대해 얼마나 만족하셨습니까?"라는 질문에 별점을 매기도록 할 수 있습니다.

RatingBar는 사용자 경험을 반영하는 중요한 도구로, 사용자 피드백을 시각적이고 직관적인 방법으로 수집할 수 있는 방법입니다. 사용자 참여를 유도하고, 다른 사용자나 관리자에게 유용한 정보를 제공하는 데 효과적입니다.

MainActivity
import android.os.Bundle
import android.widget.RatingBar
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

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

        // Initialize RatingBar and TextView
        val ratingBar = findViewById<RatingBar>(R.id.ratingBar)
        val ratingText = findViewById<TextView>(R.id.ratingText)

        // Set the initial rating to 3.0
        ratingBar.rating = 3.0f
        ratingText.text = "사용자 평가 점수: ${ratingBar.rating}"

        // Set a listener for when the rating changes
        ratingBar.setOnRatingBarChangeListener { _, rating, _ ->
            // Update the TextView with the new rating
            ratingText.text = "사용자 평가 점수: $rating"
        }
    }
}

 

activity_main.xml
<?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:orientation="vertical"
    android:padding="16dp">

    <!-- RatingBar -->
    <RatingBar
        android:id="@+id/ratingBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:stepSize="0.5"
        android:numStars="5"
        android:rating="3.0" />

    <!-- TextView for displaying the rating score -->
    <TextView
        android:id="@+id/ratingText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:text="사용자 평가 점수: 3.0"
        android:textSize="18sp" />

</LinearLayout>