[안드로이드] DialogFragment에 style 적용하기

프로그래밍/Android 관련2017. 12. 16. 09:30

안녕하세요. 개발자 드리머즈입니다.


DialogFragment는 상속받는 클래스를 만들고, 이 클래스의 객체를 제가 원하는 Activity에서 show()했더니.. 외형이 안좋았습니다. 아마 해당 activity에 적용된 Theme에 영향을 받는 것 같아 보였습니다.

그래서 이 클래스에 style 적용하는 법을 찾아 자료 정리합니다. 방법은 아주 간단합니다.


DialogFragment를 상속받는 클래스에서 AlertDialog.Builder의 객체를 생성할 때,

생성자의 2번째 인자로 원하는 style을 넣으면 됩니다.

public class MyCustomDialogFragment extends DialogFragment {

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), android.R.style.Theme_Material_Light_Dialog_Alert

);

builder.setMessage("Test Message")
.setPositiveButton("Positive", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {

}
})
.setNegativeButton("Negative", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {

}
});


return builder.create();
}
}





*참고
스택오버플로우 질문글 : https://stackoverflow.com/questions/10591221/theme-not-applying-to-dialogfragment-on-android


작성자

Posted by 드리머즈

관련 글

댓글 영역