상세 컨텐츠

본문 제목

[안드로이드] 별점(RatingBar) 쉽게 꾸미는 방법

안드로이드

by aries574 2022. 2. 10. 14:59

본문


이번 시간에는 별점(RatingBar)

쉽게 꾸미는 방법에 대하여

알아보겠습니다.


목차

1. 실행 화면

2. 라이브러리 등록

3. 메인 화면 구성 activity_main.xml

4. 메인 코드 구현 MainActivity.java


1. 실행 화면



2. 라이브러리 등록

build.gradle(Module:프로젝트명:app)

dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.

implementation 'com.github.ome450901:SimpleRatingBar:1.5.1'

  - 참조 문서 -

https://github.com/williamyyu/SimpleRatingBar

 

GitHub - williamyyu/SimpleRatingBar: A simple RatingBar that you can easier to customize image and animations

A simple RatingBar that you can easier to customize image and animations - GitHub - williamyyu/SimpleRatingBar: A simple RatingBar that you can easier to customize image and animations

github.com

 

 

3. 메인 화면 구성 activity_main.xml

 기본 별점 BaseRatingBar

 확대별점 ScaleRatingBar

 회전별점 RotationBar

 - 속성 -

  srb_numStars: 별갯수 설정

  srb_stepSize: 별 채우기 간격 설정

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <TextView
        android:id="@+id/base_text_View"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="기본 별점"
        android:textSize="30sp" />

    <com.willy.ratingbar.BaseRatingBar
        android:id="@+id/base_rating_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="기본 별점"
        android:textSize="30sp"
        app:srb_numStars="5"
        app:srb_stepSize="0.5" />

    <TextView
        android:id="@+id/scale_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="확대 별점"
        android:textSize="30sp" />

    <com.willy.ratingbar.ScaleRatingBar
        android:id="@+id/scale_rating_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srb_numStars="5" />

    <TextView
        android:id="@+id/rotation_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="회전 별점"
        android:textSize="30sp" />

    <com.willy.ratingbar.RotationRatingBar
        android:id="@+id/rotation_rating_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srb_numStars="5" />

</LinearLayout>



4. 메인 코드 구현 MainActivity.java

 - 기능 -

 onRatingChange

 - 별점에 변화가 생기면 실행되는 메서드

public class MainActivity extends AppCompatActivity {

    TextView baseTextView;
    TextView scaleTextView;
    TextView rotationTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        baseTextView = findViewById(R.id.base_text_View);
        scaleTextView = findViewById(R.id.scale_text_view);
        rotationTextView = findViewById(R.id.rotation_text_view);

        BaseRatingBar baseRatingBar = findViewById(R.id.base_rating_bar);
        baseRatingBar.setOnRatingChangeListener(new BaseRatingBar.OnRatingChangeListener() {
            @Override
            public void onRatingChange(BaseRatingBar ratingBar, float rating, boolean fromUser) {

                baseTextView.setText("기본별점: " + rating + "점");
            }
        });

        ScaleRatingBar scaleRatingBar = findViewById(R.id.scale_rating_bar);
        scaleRatingBar.setOnRatingChangeListener(new BaseRatingBar.OnRatingChangeListener() {
            @Override
            public void onRatingChange(BaseRatingBar ratingBar, float rating, boolean fromUser) {

                scaleTextView.setText("확대별점: " + rating + "점");
            }
        });

        RotationRatingBar rotationRatingBar = findViewById(R.id.rotation_rating_bar);
        rotationRatingBar.setOnRatingChangeListener(new BaseRatingBar.OnRatingChangeListener() {
            @Override
            public void onRatingChange(BaseRatingBar ratingBar, float rating, boolean fromUser) {

                rotationTextView.setText("회전별점: " + rating + "점");
            }
        });
    }
    
} //MainActivity

2022.02.09 - [안드로이드] - [안드로이드] 패턴(patternLockView) 잠금 쉽게 만드는 방법

 

[안드로이드] 패턴(patternLockView) 잠금 쉽게 만드는 방법

이번 시간에는 안드로이드 패턴 잠금 쉽게 만드는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java.

aries574.tistory.com

2022.02.08 - [안드로이드] - [안드로이드] 원형 다이얼로그( Dialog) 쉽게 만드는 방법

 

[안드로이드] 원형 다이얼로그( Dialog) 쉽게 만드는 방법

이번 시간에는 원형의 다이얼로그를 쉽게 만드는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java 1. 실..

aries574.tistory.com

2022.02.07 - [안드로이드] - [안드로이드] 상태 진행 표시줄 쉽게 만드는 방법

 

[안드로이드] 상태 진행 표시줄 쉽게 만드는 방법

이번 시간에는 현재 상태 진행상황을 알 수 있게 표시하는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.jav.

aries574.tistory.com

반응형

관련글 더보기

댓글 영역