-
Notifications
You must be signed in to change notification settings - Fork 1
StormDialog
KIM SEONG GYU edited this page Jul 9, 2020
·
3 revisions
-
필수 속성
-
dialogImg
: 아래 세 가지 중 하나를 선택하여 사용하면 됨-
StormDialogBuilder.STORM_LOGO
- 스톰 로고
-
StormDialogBuilder.THUNDER_LOGO
- 번개 모양 로고
-
StormDialogBuilder.LOADING_LOGO
- 로딩 중 애니메이션
-
-
title
: 다이얼로그에 들어갈 타이틀
-
-
선택 속성
-
setContentRes(contentRes: Int)
- 내용으로 들어갈 레이아웃의 ID ex)
R.layout.view_rule_reminder
- 내용으로 들어갈 레이아웃의 ID ex)
-
setContentText(contentText: String)
- 내용으로 들어갈 텍스트
-
setButtonArray(stormDialogButtonArray: ArrayList<StormDialogButton>)
- 세로 버튼으로 사용될 버튼 이름과 리스너로 이루어진
StormDialogButton
들의 배열
- 세로 버튼으로 사용될 버튼 이름과 리스너로 이루어진
-
setHorizontalArray(stormDialogButtonArray: ArrayList<StormDialogButton>)
- 가로 버튼으로 사용될 버튼 이름과 리스너로 이루어진
StormDialogButton
들의 배열
- 가로 버튼으로 사용될 버튼 이름과 리스너로 이루어진
-
-
주의사항
ContentRes
와ContentText
를 함께 사용하면 예외가 발생하기 때문에 둘 중 하나만 사용하거난 둘 다 사용하지 말 것.
가로 버튼과 세로 버튼을 함께 사용할 경우 가로 버튼은 가장 아래에 위치하게 됨
-
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")
버튼을 추가 하고자 할 때 해당 모델을 이용
- 프로퍼티
-
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")