chufengma / android-skills

android 平时需要注意的小技巧,小构思,小想法。
6 stars 2 forks source link

Dialog 设置属性 #20

Open chufengma opened 9 years ago

chufengma commented 9 years ago

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外背景的透明程度