Skip to content

Dialog 设置属性 #20

Description

@chufengma

1. Dialog style 部分介绍

Dialog 包含一个Window,统一由WIndowManager 管理。

<item name="android:windowNoTitle">true</item>
<!--设置Window的标题,默认Dialog是有标题的-->

<item name="android:windowBackground">@color/window_bg</item>
<!--设置Window的背景颜色。如果Dialog 通过WIndowManager.LayoutParams 把高或者宽设置成了Wrap_content,可能Dialog背景没有效果,反而只能显示contentView的效果(这不是废话嘛!!!)-->

<item name="android:backgroundDimEnabled">false</item>
<!--设置屏幕上除Dialog之外的区域的灰色区域是否显示,另外可以在Java代码中通过WindowManager.LayoutParams  dimAmount 属性来设置dim的程度-->

<item name="android:windowFullScreen">false</item>
<!--设置全屏:覆盖状态栏,默认是不包括状态栏的 。这个时候设置VIew的位置,可能会有问题(其背后的Activity坐标也跟着发生了变化.......)-->

2. Dialog 坐标系

    (全屏:style:windowFullScreen,并且设置LayoutParams MATCH_PARENT)
     Dialog 在非全屏的情况下,坐标系原点是左上角,不包括状态栏的部分。
     在全屏的情况下,坐标系原点是左上角(忽略状态栏)

3. Dialog 有用的方法

     WindowManager.LayoutParams 的属性
    alpha 设置Dialog本身背景的透明度
    dimAmount 设置Dialog外背景的透明程度

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions