Android RatingBar是一个用户界面小部件,用于从客户或用户那里获得评级。它是SeekBar和ProgressBar的扩展,可以显示星级,并且允许用户通过单击星级来进行评级。
在RatingBar中,我们可以使用android:stepSize设置步长,并且它将始终返回评分值作为浮点数,例如1.0、2.0、2.5等。通过使用android:numStars属性,我们可以在RatingBar中指定星数。 RatingBar用于从用户或客户那里获得有关产品,电影或酒店体验等的评分。
RatingBar可以手动或以编程方式创建,但我们将以编程或动态方式进行讨论。
首先,我们按照以下步骤创建一个新项目:
- 单击文件,然后单击新建=>新建项目。
- 之后,包括Kotlin支持,然后单击下一步。
- 根据方便选择最小的SDK,然后单击下一步。
- 然后选择清空活动=>下一个=>完成。
修改activity_main.xml文件
在此文件中,我们使用LinearLayout并设置其属性(如id,padding等),并且可以使用id在Kotlin文件中对其进行访问。
在字符串.xml文件中添加应用程序名称
在这里,我们可以将可以在应用程序中使用的所有字符串放在任何文件中。因此,我们更新了app_name,该名称可以在活动顶部看到。
DynamicRatingBarInKotlin
在MainActivity.kt文件中创建RatingBar
首先,我们声明变量rBar来创建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
然后,我们声明另一个变量来创建一个像这样的按钮
val button = Button(this)
val layoutParams1 = LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT)
button.text="Submit Rating"
之后,使用以下语句将RatingBar和按钮添加到LinearLayout中
linearLayout?.addView(rBar)
linearLayout?.addView(button)
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(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()
}
}
}
AndroidManifest.xml文件
作为仿真器运行:
想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!