Skip to content

StormDialog

KIM SEONG GYU edited this page Jul 9, 2020 · 3 revisions

StormDialog 사용방법

StormDialogBuilder(dialogImg: Int, title: String)로 StormDialog Build하기

  • 필수 속성

    • dialogImg : 아래 세 가지 중 하나를 선택하여 사용하면 됨

      • StormDialogBuilder.STORM_LOGO

        • 스톰 로고
      • StormDialogBuilder.THUNDER_LOGO

        • 번개 모양 로고
      • StormDialogBuilder.LOADING_LOGO

        • 로딩 중 애니메이션
    • title : 다이얼로그에 들어갈 타이틀

  • 선택 속성

    • setContentRes(contentRes: Int)

      • 내용으로 들어갈 레이아웃의 ID ex) R.layout.view_rule_reminder
    • setContentText(contentText: String)

      • 내용으로 들어갈 텍스트
    • setButtonArray(stormDialogButtonArray: ArrayList<StormDialogButton>)

      • 세로 버튼으로 사용될 버튼 이름과 리스너로 이루어진 StormDialogButton들의 배열
    • setHorizontalArray(stormDialogButtonArray: ArrayList<StormDialogButton>)

      • 가로 버튼으로 사용될 버튼 이름과 리스너로 이루어진 StormDialogButton들의 배열
  • 주의사항

ContentResContentText를 함께 사용하면 예외가 발생하기 때문에 둘 중 하나만 사용하거난 둘 다 사용하지 말 것.
가로 버튼과 세로 버튼을 함께 사용할 경우 가로 버튼은 가장 아래에 위치하게 됨

  • Build

    • 필요한 속성을 모두 지정하였으면 .build() 메서드로 최종 StormDialog 인스턴스를 리턴받을 수 있다.
  • 다이얼로그 띄우기

    • 생성된 StormDialog 인스턴스에서 .show(manager: FragmentManager, tag: String) 메서드를 사용하면 다이얼로그가 띄워짐
  • 예제코드

StormDialogBuilder(StormDialogBuilder.STORM_LOGO, "브레인스토밍 룰 리마인더")
    .setContentRes(R.layout.view_rule_reminder)
    .setHorizontalArray(buttonArray)
    .build()
    .show(supportFragmentManager, "rulereminder")

StormDialogButton

버튼을 추가 하고자 할 때 해당 모델을 이용

  • 프로퍼티
    • text: String
      • 버튼에 들어갈 텍스트 ex) 확인, 취소 등등
    • accentColor: Boolean
      • 버튼에 강조 색이 들어가는지 여부
    • listener: StormDialogButton.OnClickListener
      • 버튼을 눌렀을 때 실행될 콜백 리스너

예제 코드

val buttonArray = ArrayList<StormDialogButton>()

        buttonArray.add(
            StormDialogButton("취소", true, object : StormDialogButton.OnClickListener {
                override fun onClick() {
                    Toast.makeText(applicationContext, "취소 눌렀음", Toast.LENGTH_SHORT).show()
                }
            })
        )

        buttonArray.add(
            StormDialogButton("확인", true, object : StormDialogButton.OnClickListener {
                override fun onClick() {
                    Toast.makeText(applicationContext, "확인 눌렀음", Toast.LENGTH_SHORT).show()
                }
            })
        )

        StormDialogBuilder(StormDialogBuilder.STORM_LOGO, "브레인스토밍 룰 리마인더")
            .setContentRes(R.layout.view_rule_reminder)
            .setHorizontalArray(buttonArray)
            .build()
            .show(supportFragmentManager, "rulereminder")