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>

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

  • 相关阅读:
    postgresql模糊查询json类型字段内某一属性值
    https://127.0.0.1:8080/test?param={%22..报错
    协同过滤算法简单实现
    开源推荐系统Librec中recommender模块算法了解——cf模块
    Python Flask 多环境配置
    Python序列化和反序列化 vs JSON
    Python自定义状态码枚举类
    python带参数装饰器使用
    Python日志配置类
    Python常量工具类
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/5751331.html
Copyright © 2011-2022 走看看