在 Android 开发中,RatingBar(评分条)用于显示基于星级评分的界面,这在应用的评价和反馈功能中非常常见。它允许用户设置评分,并将评分作为 float(浮点数)值返回,例如 1.5、3.0、4.5 等。为了获取评分值,我们在 Kotlin 中使用 .rating 函数,在 Java 中使用 .getRating() 函数。在本文中,我们将演示如何在 Java 和 Kotlin 中实现评分条。
主要功能
- 显示星级评分系统。
- 允许用户输入分数形式的评分(即支持小数评分)。
- 可以在外观和行为上进行自定义。
- 支持事件监听器来处理评分的变化。
自定义
要自定义评分条,我们可以使用以下方法:
val stars = ratingBar.progressDrawable as LayerDrawable
stars.getDrawable(2).setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_ATOP)
这里,.setColorFilter() 方法用于为评分条设置自定义颜色。
逐步实现
步骤 1:在 Android Studio 中创建新项目
要在 Android Studio 中创建新项目,请参阅 如何在 Android Studio 中创建/启动新项目。
步骤 2:使用 activity_main.xml 文件
导航到 app > res > layout > activity_main.xml 并将以下代码添加到其中。
activity_main.xml:
XML
CODEBLOCK_7c57bdbd
设计 UI:
步骤 3:使用 MainActivity 文件
导航到 app > java > 你的应用包名 > MainActivity 文件并添加以下代码。代码中已添加注释以便详细了解。
MainActivity.java
“
package org.geeksforgeeks.demo;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.LayerDrawable;
import android.os.Bundle;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
// 声明 UI 元素
private RatingBar ratingBar;
private Button button;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(s