ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [9] Rating Bar
    Develpment/Android Using Sample 2020. 9. 13. 21:36

    1. Rating Bar


     Layout 

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?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/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.sin.custombutton.MainActivity"
        android:orientation="vertical">
     
        <RatingBar
            android:id="@+id/rating"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"/>
     
        <TextView
            android:id="@+id/rating_num"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:hint="점수표시"/>
     
    </LinearLayout>
     
    cs

    * RatingBar 와 결과를 확인할 TextView 추가.


     Activity

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class MainActivity extends AppCompatActivity {
     
        RatingBar rating;
        TextView rating_num;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            rating_num = (TextView)findViewById(R.id.rating_num);
            rating = (RatingBar)findViewById(R.id.rating);
     
            rating.setNumStars(6);
            rating.setIsIndicator(false);
            rating.setStepSize(0.5f);
     
            rating.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
                @Override
                public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {
                    rating_num.setText(String.format("getNumStars : %d, setStepSize : %.1f", rating.getNumStars(), v));
                }
            });
     
        }
    }
    cs

    * setNumStarts() 로 별 개수 세팅.

    * setIsIndicator() : false - 별 수정 가능, true - 수정 불가능

    * setStepSize() : 별 반개당 점수

    * setOnRatingBarChangeListener() : 별점 수정시 마다 호출됨.

    * onRatingChanged() : float v - 총점수



    2. 결과 화면


     



    'Develpment > Android Using Sample' 카테고리의 다른 글

    [11] Handler  (0) 2020.09.13
    [10] Intent  (0) 2020.09.13
    [8] Dialog  (0) 2020.09.13
    [7] Alert Dialog  (0) 2020.09.13
    [6] Menu  (0) 2020.09.13

    댓글

Designed by Tistory.