0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Android】RatingBar使ってみた【Kotlin】

Posted at

実践

activity_main.xml
    <RatingBar
        android:id="@+id/rating_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />        

xml側はそのままRatingBarとして設定できます。

以下は 使えるメソッドを紹介します。

    val ratingBar : RatingBar = findViewById(R.id.rating_bar)

変数に設定した上で

numStars

評価の最大数を決めることができます。

    ratingBar.numStars = 6

とすると評価の最大数を設定できます。
初期値は5が設定されているようです。

xml側では

    android:numStars="100"

ここを設定する時の注意点として、Viewの横幅が評価の最大数が入りきらない場合はその分しか表示できません。
例えば、星二つ分の Viewサイズの場合は星二つまでしか表示されません。
逆にViewは横幅いっぱいにしていても、100など大きすぎる数を入れた所星の数が表示しきれなくなってしまいました。

Indicator

評価バーをユーザーが変更できるかどうかを設定できます。

    ratingBar.setIsIndicator(true)

xml側では

    android:isIndicator="true"

trueがユーザーが変更不可、falseが変更可能

また、現在が変更できる状態なのか否かもわかります。

    ratingBar.isIndicator

rating

評価の初期状態を決めることができます。

    ratingBar.rating = 1.5F

型はFloatで指定します。
また、小数点第一まで指定することができます。

xml側では

    android:rating="1"

stepSize

評価の段階を設定できます。

    ratingBar.stepSize = 1.2F

このように小数点でも指定できます。

1段階で1.2分動きます。

xml側では 

    android:stepSize="1.2"

setOnRatingBarChangeListener

評価の変更を検出することもできます。

    ratingBar.setOnRatingBarChangeListener()

progressTintList

星の色の指定ができます。

    ratingBar.progressTintList = ColorStateList.valueOf(Color.BLACK)

デフォルトでは黄色っぽい色が設定されています。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?