zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    数据挖掘算法-Apriori Algorithm(关联规则)
    分类指标准确率(Precision)和正确率(Accuracy)的区别
    数据预处理(完整步骤)
    linux下使用tar命令
    (LeetCode 135) Candy N个孩子站成一排,给每个人设定一个权重
    海量数据处理算法—Bit-Map
    Python 3.x 连接 pymysql 数据库
    visio扩大画布的大小
    中文latex去掉图片描述
    LaTeX 中文段首空格问题
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/5751331.html
Copyright © 2011-2022 走看看