0%

DialogFragment使用笔记

  1. DialogFragment默认边框有黑色阴影

  2. 去掉黑色阴影

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setStyle(STYLE_NORMAL, R.style.Theme_Common_Dialog_Alert);
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Common.Dialog.Alert" parent="android:Theme.Panel">
<!-- 让Dialog背景为灰色,默认false是背景高亮 -->
<item name="android:backgroundDimEnabled">true</item>
</style>
</resources>
  1. 设置Dialog固定宽高,在xml中设置是无效的
@Override
public void onResume() {
super.onResume();
if (getShowsDialog()) {
//Dialog显示时,设置Dialog的固定宽度。
getDialog().getWindow().setLayout(getActivity().getResources().getDimensionPixelSize(R.dimen.dialog_min_width), LinearLayout.LayoutParams.WRAP_CONTENT);
}
}
  1. 设置Dialog无标题,点击外部是否消失
  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if (getShowsDialog()) {
getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
getDialog().setCanceledOnTouchOutside(false);
}

//....
}