美文网首页
Dialog充满屏幕

Dialog充满屏幕

作者: Endeav0r | 来源:发表于2017-12-02 09:04 被阅读86次

Dialog宽高设置

dialog
final View view = LayoutInflater.from(context).inflate(layoutId, null);
final Dialog dialog = new Dialog(context, R.style.style_dialog);
dialog.setContentView(view);
dialog.show();

Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM);
window.setWindowAnimations(R.style.dialog_animation);
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);
style_dialog
<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>
</style>
dialog_animation
<style name="dialog_animation">  
    <item name="android:windowEnterAnimation">@anim/enter</item>   
 <item name="android:windowExitAnimation">@anim/exit</item>   
</style>
enter
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >
    
    <translate 
        android:fromYDelta="100%p"
        android:toYDelta="0"
        android:duration="300"/>

</set>
exit
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >
    
    <translate 
        android:fromYDelta="0"
        android:toYDelta="100%p"
        android:duration="600"
        />

</set>

View view = LayoutInflater.from(this).inflate(R.layout.mine_phone_unbind, null);

AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.DialogTheme);
builder.setView(view);
final AlertDialog dialog = builder.create();
Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM);
window.setWindowAnimations(R.style.dialog_animation);
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);

dialog.show();
style
<style name="DialogTheme" parent="@android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>移除边框
    <item name="android:windowNoTitle">true</item>去除顶部标题栏
    <item name="android:windowIsTranslucent">true</item>窗体透明
    <item name="android:background">@android:color/white</item>背景透明
    <item name="android:windowBackground">@android:color/transparent</item>窗体背景透明
    <item name="android:windowIsFloating">false</item>窗体是否浮动
    <item name="android:backgroundDimEnabled">true</item>背景是否昏暗
    <item name="android:backgroundDimAmount">0.6</item>昏暗数量
</style>

阅读原文

相关文章

网友评论

      本文标题:Dialog充满屏幕

      本文链接:https://www.haomeiwen.com/subject/cmogbxtx.html