• Android 弹出对话框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 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>

    欢迎关注我的微信公众号:安卓圈

  • 相关阅读:
    逆序数 POJ 2299 Ultra-QuickSort
    DP URAL 1244 Gentlemen
    找规律 SGU 107 987654321 problem
    找规律 SGU 126 Boxes
    DP VK Cup 2012 Qualification Round D. Palindrome pairs
    模拟 Coder-Strike 2014
    模拟 Codeforces Round #203 (Div. 2) C. Bombs
    DFS HDOJ 2614 Beat
    最短路(Floyd_Warshall) POJ 2240 Arbitrage
    最短路(Floyd_Warshall) POJ 1125 Stockbroker Grapevine
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/5751331.html
Copyright © 2020-2023  润新知