Android 之 DialogFragment篇
继承DialogFragment,实现自定义view
下面是代码
public static class MyDialog extends DialogFragment{
private View inflaterView;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NORMAL,R.style.NoticeDialogStyle);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if(inflaterView==null) {
inflaterView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_blank_plan, null);
}
return inflaterView;
}
@Override
public void onStart() {
super.onStart();
final WindowManager.LayoutParams layoutParams = getDialog().getWindow().getAttributes();
layoutParams.width = UiUtil.getScreenWidth(getActivity());
layoutParams.height = UiUtil.dip2px(getActivity(),300);
layoutParams.gravity = Gravity.BOTTOM;
getDialog().getWindow().setAttributes(layoutParams);
getDialog().getWindow().setWindowAnimations(R.style.ani);
}
}
默认会有Dialog的样式,加入
<style name="NoticeDialogStyle" parent="android:Theme.Holo.Light.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@null</item>
</style>
使用空白dialog样式
设置动画
getDialog().getWindow().setWindowAnimations(R.style.ani);
<style name="ani" >
<item name="android:windowEnterAnimation">@anim/enter_dialog_ani</item>
<item name="android:windowExitAnimation">@anim/exit_dialog_ani</item>
</style>