-
Notifications
You must be signed in to change notification settings - Fork 0
WaskDialog
KIM SEONG GYU edited this page Aug 11, 2020
·
2 revisions
-
setTitle(String title)
타이틀 지정 -
setMessage(String message)
다이얼로그 메시지 지정 setContent(int layoutRes)
-
setContentCallback(WaskDialog.ContentViewCallback callback)
적용한 컨텐츠를 조작하기 위한 콜백 추가 -
addHorizontalButton(String text, WaskDialog.OnClickListener listener)
가로로 배열될 버튼을 추가 -
addVerticalButton(String text, WaskDialog.OnClickListener listener)
세로로 배열될 버튼을 추가
-
setMessage(String message)
와setContent(int layoutRes)
를 함께 사용하면 예외가 발생하기 때문에 둘 중 하나만 사용해야 합니다. - 모든 속성은 Nullable 합니다.
- 버튼 추가는 중복해서 가능합니다.
- 가로 버튼과 세로 버튼을 모두 추가했을 경우, 세로 버튼을 위에 배치하고 가로 버튼은 가장 아래에 배치됩니다.
public interface ContentViewCallback {
void onContentViewAttached(View view);
}
-
View view
: 다이얼로그에 적용된 컨텐츠를 inflate한 View- 컨텐츠로 적용된 뷰에 접근하여 조작을 할 수 있습니다.
public interface OnClickListener {
void onClick(WaskDialog dialog, View view);
}
-
WaskDialog dialog
: 현재 띄워져있는 다이얼로그 객체- 다이얼로그를 닫거나 할 수 있습니다.
-
View view
:setContent(int layoutRes)
로 컨텐츠를 지정했을 때 컨텐츠에 대한View
- 컨텐츠 내부의 뷰를 컨트롤할 때 사용합니다.
new WaskDialogBuilder()
.setTitle("테스트 다이얼로그")
.setContent(R.layout.test_layout)
.addHorizontalButton("확인", (dialog, view) -> {
String txt = ((EditText) view.findViewById(R.id.edittext)).getText().toString();
Toast.makeText(this, txt, Toast.LENGTH_SHORT).show();
dialog.dismiss();
})
.addHorizontalButton("지우기", (dialog, view) -> {
((EditText) view.findViewById(R.id.edittext)).setText(null);
})
.addHorizontalButton("취소" ,(dialog, view) -> {
dialog.dismiss();
})
.build()
.show(getSupportFragmentManager(), "test");
test_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="테스트"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>