이번 시간에는 라이브러리를
통해서 플립 시계를 쉽게 만들 수
있는 방법을 알아보겠습니다.
1. 실행 화면
2. 라이브러리 등록
3. 메인 화면 구성 activity_main.xml
4. 메인 코드 구현 MainActivity.java
build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.
implementation 'com.github.aldrek:Flip_Digit:1.0.1'
참조 문서
https://github.com/aldrek/Flip_Digit
<?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>
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)하는 기능 넣는 방법
2022.01.23 - [안드로이드] - [안드로이드] 색상 조절 막대 ColorSeekBar 쉽게 만드는 방법
[안드로이드] 밀어서 날짜 변경하는 달력(SlideDatePicker) 쉽게 만드는 방법 (0) | 2022.01.27 |
---|---|
[안드로이드] 메시지 (Toast) 쉽게 꾸미는 방법 (0) | 2022.01.26 |
[안드로이드] 진행률 ProgressView 쉽게 만드는 방법 (0) | 2022.01.24 |
[안드로이드] 색상조절막대 ColorSeekBar 쉽게 만드는 방법 (0) | 2022.01.23 |
[안드로이드] 스피너(Spinner) 검색(Search)하는 기능 넣는 방법 (0) | 2022.01.22 |
댓글 영역