Activity之 window、decoreView在 xml的style中设置和代码中设置关系

//设置窗体全屏


getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


 //设置窗体始终点亮


getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,


      WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
 //设置窗体背景模糊, android 4.0以后不支持了。


getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);


window的设置都可以在Activity的theme的style中配置,比如:


<resources>  
  <style name="MyTransparent">  
    <item name="android:windowBackground">@color/transparent_background</item>  这个是设置 decoreView的背景色
    <item name="android:windowNoTitle">true</item>    设置decoreView是否有title那个FrameLayout布局
    <item name="android:windowIsTranslucent">true</item>     window默认是黑色配置是否透明(window是最顶级,在decoreView的外面)
    <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>  窗口动画设置,非常有用。
   <item name="android:backgroundDimEnabled">true</item> 设置窗口是否变暗(当该窗口是个对话框时很明显看到,把Activity弄小也看得到)
    <item name="android:windowIsFloating">true</item>  表示浮在屏幕上的,如果在这里使用了,整个layout就会在 屏幕中心,相当于浮在屏幕上,所以这个只适用于dialog 
  </style>  
</resources>
<item name="android:backgroundDimEnabled">true</item> 默认变暗等级50%,如果在代码中setContentView()之前可以设置窗口特征。①和②缺一不可。

      mActivity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,WindowManager.LayoutParams.FLAG_DIM_BEHIND);

        WindowManager.LayoutParams lp_=mActivity.getWindow().getAttributes();
        lp_.dimAmount = 0.3f;
         mActivity.getWindow().setAttributes(lp_);


         mActivity. getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);


//        dimAmount在0.0f和1.0f之间,0.0f完全不暗,1.0f全暗


更多相关的内容看博客:
http://2960629.blog.51cto.com/2950629/742499
http://blog.jobbole.com/65531/








你可能感兴趣的:(Activity之 window、decoreView在 xml的style中设置和代码中设置关系)