简单设置固定大小的窗口activity

来源:互联网 发布:js math 编辑:程序博客网 时间:2024/06/10 04:02

       1.在屏幕中间显示

          activity的android:theme="@style/Theme.FloatActivity"

        <style name="Theme.FloatActivity" parent="android:style/Theme.Dialog">    
           <item name="android:windowNoTitle">true</item> 

          <!-- float_box为我们定义的窗口背景-->
             <!--    <item name="android:windowBackground">@drawable/activity_dialog</item> -->
         </style>

     2. 设置固定宽高透明度等属性。

            WindowManager m = getWindowManager();    
             Display d = m.getDefaultDisplay();
            Window window = getWindow();  
            WindowManager.LayoutParams params = window.getAttributes();  
            //set width,height by density and gravity    
             params.width = (int) (d.getWidth() * 0.6); 可以设置固定宽

              p.height = (int) (d.getHeight() * 0.6);可以设置固定高,但是如果根据内容改变的情况下可以不设置。




             /*WindowManager m = getWindowManager();    
              Display d = m.getDefaultDisplay();  //为获取屏幕宽、高    
               LayoutParams p = getWindow().getAttributes();  //获取对话框当前的参数值    
              p.height = (int) (d.getHeight() * 1.0);   //高度设置为屏幕的1.0   
              p.width = (int) (d.getWidth() * 0.7);    //宽度设置为屏幕的0.8   
              p.alpha = 1.0f;      //设置本身透明度  
             p.dimAmount = 0.0f;      //设置黑暗度  
             p.gravity = Gravity.CENTER;
           
            getWindow().setAttributes(p);  */
           WindowManager m = getWindowManager();    
             Display d = m.getDefaultDisplay();
            Window window = getWindow();  
            WindowManager.LayoutParams params = window.getAttributes();  
            //set width,height by density and gravity    
             params.width = (int) (d.getWidth() * 0.6);