方法一:设置style -- 无效
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_confirm_layout, null);
TextView descTextView = (TextView) view.findViewById(R.id.dialog_content_tv);
descTextView.setText("Android 4.2 DialogFragment");
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.CustomDialog);
builder.setView(view);
return builder.create();
}
方法二:在onStart中设置 -- 无效
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_confirm_layout, null);
TextView descTextView = (TextView) view.findViewById(R.id.dialog_content_tv);
descTextView.setText("Android 4.2 DialogFragment");
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(view);
return builder.create();
}
@Override
public void onStart() {
super.onStart();
Window window = getDialog().getWindow();
WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.dimAmount = 0.0f;
window.setAttributes(windowParams);
}
终极办法:使用V7兼容包 -- 生效
本文介绍了在Android开发中遇到的DialogFragment样式应用问题,并提供了三种解决方案:尝试通过设置style、在onStart中调整窗口属性以及最终推荐的方法——利用V7兼容包来实现自定义样式。
1万+

被折叠的 条评论
为什么被折叠?



