본문 바로가기
안드로이드 자바

[Android][Java] PickView 라이브러리 사용하기

by teamnova 2023. 2. 22.
728x90

오늘은 PopUp Date Picker 라이브러리를 사용해보겠습니다.

 

1. build.gradle 등록하기

implementation 'com.brucetoo.pickview:library:1.2.3'

2. 다음으로 레이아웃 파일 입니다.

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".PopUpDateActivity">

    <Button
        android:id="@+id/pop_up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="popup"
        android:layout_marginTop="50dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

다음으로 자바 파일입니다.

public class PopUpDateActivity extends AppCompatActivity {
    private ActivityPopUpDateBinding bind;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        bind = ActivityPopUpDateBinding.inflate(getLayoutInflater());
        setContentView(bind.getRoot());

        bind.popUp.setOnClickListener(view1 -> {

            DatePickerPopWin pickerPopWin = new DatePickerPopWin.Builder(getBaseContext(), new DatePickerPopWin.OnDatePickedListener() {
                @Override
                public void onDatePickCompleted(int year, int month, int day, String dateDesc) {

                    // Confirm 버튼을 클릭했을때 벌어지는 일
                    Toast.makeText(getBaseContext(), dateDesc, Toast.LENGTH_SHORT).show();

                }
            }).textConfirm("완료") // 확인버튼에 텍스트 설명
                    .textCancel("취소") // 취소버튼에 텍스트 설명
                    .btnTextSize(15) // 버튼 텍스트 사이즈
                    .viewTextSize(15) // 날짜 텍스트 사이즈
                    .colorCancel(Color.parseColor("#000000")) // 취소 버튼 색
                    .colorConfirm(Color.parseColor("#009900"))// 확인 버튼 색
                    .minYear(1900) // 최소 년도
                    .maxYear(2100) // 최대 년도
                    .showDayMonthYear(false) // fasle 시 yy-mm-dd, true 시 dd-mm-yy
                    .dateChose("2022-12-25") // 초기 날짜 세팅
                    .build();

            pickerPopWin.confirmBtn.setPadding(5,5,5,5);  // 확인 버튼 여백 설정
            pickerPopWin.cancelBtn.setPadding(0,0,0,0); // 삭제 버튼 여백 설정
            pickerPopWin.cancelBtn.setBackgroundColor(Color.parseColor("#FFF2F7FA")); // 버튼의 배경색
            pickerPopWin.confirmBtn.setBackgroundColor(Color.parseColor("#FFF2F7FA"));
            pickerPopWin.showPopWin(PopUpDateActivity.this); // 버튼 엑티비티 보여주기89
        });
    }
}