상세 컨텐츠

본문 제목

[안드로이드] 플립시계(Flip_Digit) 쉽게 만드는 방법

안드로이드

by aries574 2022. 1. 25. 12:38

본문


이번 시간에는 라이브러리를

통해서 플립 시계를 쉽게 만들 수

있는 방법을 알아보겠습니다.


목차

1. 실행 화면

2. 라이브러리 등록

3. 메인 화면 구성 activity_main.xml

4. 메인 코드 구현 MainActivity.java


1. 실행 화면

2. 라이브러리 등록

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

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

implementation 'com.github.aldrek:Flip_Digit:1.0.1'

참조 문서

https://github.com/aldrek/Flip_Digit

 

GitHub - aldrek/Flip_Digit: Flip digit Library that makes a cool and flexible animation flip when changing from one numbers to a

Flip digit Library that makes a cool and flexible animation flip when changing from one numbers to another - GitHub - aldrek/Flip_Digit: Flip digit Library that makes a cool and flexible animatio...

github.com

 

 

3. 메인 화면 구성 activity_main.xml

<?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:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal">

        <com.aldrek.digitflip.FlipWidget
            android:id="@+id/flipHour"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:digitColor="@color/black"
            app:isFastFlipMain="true"
            app:numberOfDigits="2"/>

        <com.aldrek.digitflip.FlipWidget
            android:id="@+id/flipMinute"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:digitColor="@color/black"
            app:isFastFlipMain="true"
            android:layout_marginLeft="20dp"
            app:numberOfDigits="2"/>

        <com.aldrek.digitflip.FlipWidget
            android:id="@+id/flipSecond"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            app:digitColor="@color/black"
            app:isFastFlipMain="true"
            app:numberOfDigits="2"/>
    </LinearLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="시작"
        android:id="@+id/start_btn"
        android:layout_marginTop="50dp"
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="취소"
        android:id="@+id/cancel_btn"
        android:layout_marginTop="50dp"
        />

</LinearLayout>


4. 메인 코드 구현 MainActivity.java

public class MainActivity extends AppCompatActivity {

    FlipWidget flipHour, flipMinute, flipSecond;

    Handler handler;
    Runnable runnable;

    int hour, minute, second;

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


        flipHour = findViewById(R.id.flipHour);
        flipMinute = findViewById(R.id.flipMinute);
        flipSecond = findViewById(R.id.flipSecond);

        handler = new Handler();
        runnable = new Runnable() {
            @Override
            public void run() {
                Calendar calendar = Calendar.getInstance();

                //시간 생성
                hour = calendar.get(Calendar.HOUR_OF_DAY);
                minute = calendar.get(Calendar.MINUTE);
                second = calendar.get(Calendar.SECOND);

                //생성된 시간 플립에 넣기
                flipHour.setValue(hour, true);
                flipMinute.setValue(minute, true);
                flipSecond.setValue(second, true);

                //1초마다 반복
                handler.postDelayed(runnable, 1000);
            }
        };

        Button startBtn = findViewById(R.id.start_btn);
        startBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                handler.postDelayed(runnable, 1000); //실행
            }
        });

        Button cancelBtn = findViewById(R.id.cancel_btn);
        cancelBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                handler.removeCallbacksAndMessages(null); //취소
            }
        });
    }
} //MainActivity

 

2022.01.22 - [안드로이드] - [안드로이드] 스피너(Spinner) 검색(Search)하는 기능 넣는 방법

 

[안드로이드] 스피너(Spinner) 검색(Search)하는 기능 넣는 방법

이번 시간에는 스피너(Spinner)에 검색하는 기능을 넣는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity.java 1. 실행 화면.

aries574.tistory.com

2022.01.23 - [안드로이드] - [안드로이드] 색상 조절 막대 ColorSeekBar 쉽게 만드는 방법

 

[안드로이드] 색상조절막대 ColorSeekBar 쉽게 만드는 방법

이번 시간에는 SeekBar 라이브러리를 통해서 색상 조절을 쉽게 할 수 있는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivit

aries574.tistory.com

2022.01.24 - [안드로이드] - [안드로이드] 진행률 ProgressView 쉽게 만드는 방법

 

[안드로이드] 진행률 ProgressView 쉽게 만드는 방법

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

aries574.tistory.com

반응형

관련글 더보기

댓글 영역