方法一:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NO_FRAME, android.R.style.Theme_Holo_Light);
}
方法二
style
1 <style name="style_dialog" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@color/white</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:scrollHorizontally">true</item>
<!-- Dialog进入及退出动画 -->
<item name="android:windowAnimationStyle">@style/BottomToTopAnim</item>
</style>
<style name="BottomToTopAnim" parent="android:Animation">
<item name="@android:windowEnterAnimation">@anim/bottom_in</item>
<item name="@android:windowExitAnimation">@anim/bottom_out</item>
</style>
bottom_in bottom_out 进入进出动画
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromYDelta="100%p"
android:toYDelta="0"/>
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromYDelta="0"
android:toYDelta="100%p"/>
代码
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.view, null);
final Dialog dialog = new Dialog(getActivity(), R.style.style_dialog);
dialog.setContentView(view);
dialog.show();
Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM); //可设置dialog的位置
window.getDecorView().setPadding(0, 0, 0, 0); //消除边距
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT; //设置宽度充满屏幕
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(lp);
return dialog;
}
参考: