首页 > 其他分享 >WindowManager 中ayoutParams的各…

WindowManager 中ayoutParams的各…

时间:2023-07-28 17:32:42浏览次数:34  
标签:int WindowManager final WINDOW static ayoutParams public FIRST


1.
public int x ;
  如果忽略gravity属性,那么它表示窗口的绝对X位置。  什么是gravity属性呢?简单地说,就是窗口如何停靠。LEFT或 Gravity.RIGHT之后,x值就表示到特定边的距离。 2.
public int y ;

 如果忽略gravity属性,那么它表示窗口的绝对Y位置。当设置了 Gravity.TOP或 Gravity.BOTTOM之后,y值就表示到特定边的距离。

3.


public float horizontalWeight ; public float verticalWeight ;

 

在纵/横向上,为关联的view预留了多少扩展空间(像素)。如果是0,那么此view不能被拉伸。

 其他情况下,扩展空间(像素)将被widget所均分。


4.


public int type ;

窗口类型。有3种主要类型:


Applicationwindows:


      取值在 FIRST_APPLICATION_WINDOW和 LAST_APPLICATION_WINDOW之间。

是通常的、顶层的应用程序窗口。必须将 token 设置成 activity 的 token 。

Sub_windows:


      取值在 FIRST_SUB_WINDOW和 LAST_SUB_WINDOW之间。

与顶层窗口相关联,token 必须设置为它所附着的宿主窗口的 token。

Systemwindows:


      取值在 FIRST_SYSTEM_WINDOW和 LAST_SYSTEM_WINDOW之间。

用于特定的系统功能。它不能用于应用程序,使用时需要特殊权限。


下面定义了 type 的取值:


 


   

应用程序窗口。

    public static final intFIRST_APPLICATION_WINDOW= 1;


    所有程序窗口的“基地”窗口,其他应用程序窗口都显示在它上面。     

    public static final intTYPE_BASE_APPLICATION  =1;       


   

    TYPE_APPLICATION       = 2;

     用于应用程序启动时所显示的窗口。应用本身不要使用这种类型。

    它用于让系统显示些信息,直到应用程序可以开启自己的窗口。   

 

TYPE_APPLICATION_STARTING= 3;
      
    
     LAST_APPLICATION_WINDOW = 99;

    
     public static final int FIRST_SUB_WINDOW       = 1000;

    
     public static final int TYPE_APPLICATION_PANEL  = FIRST_SUB_WINDOW;

    
     public static final int TYPE_APPLICATION_MEDIA  = FIRST_SUB_WINDOW+1;

    
     public static final int TYPE_APPLICATION_SUB_PANEL = FIRST_SUB_WINDOW +2;

    
     public static final int TYPE_APPLICATION_ATTACHED_DIALOG = FIRST_SUB_WINDOW +3;

    
     public static final int TYPE_APPLICATION_MEDIA_OVERLAY  = FIRST_SUB_WINDOW +4;

    
     public static final int LAST_SUB_WINDOW        = 1999;

    
    public static final int FIRST_SYSTEM_WINDOW    = 2000;

    
    public static final int TYPE_STATUS_BAR        =  FIRST_SYSTEM_WINDOW;

    
     public static final int TYPE_SEARCH_BAR        = FIRST_SYSTEM_WINDOW+1;

    
     public static final int TYPE_PHONE            = FIRST_SYSTEM_WINDOW+2;

    
     public static final int TYPE_SYSTEM_ALERT      =  FIRST_SYSTEM_WINDOW +3;

    
     public static final int TYPE_KEYGUARD          = FIRST_SYSTEM_WINDOW +4;

    
     public static final int TYPE_TOAST            = FIRST_SYSTEM_WINDOW +5;

    
     public static final int TYPE_SYSTEM_OVERLAY    =  FIRST_SYSTEM_WINDOW +6;

    
     public static final int TYPE_PRIORITY_PHONE    =  FIRST_SYSTEM_WINDOW +7;

    
     public static final int TYPE_SYSTEM_DIALOG     =  FIRST_SYSTEM_WINDOW +8;

    
     public static final int TYPE_KEYGUARD_DIALOG   =  FIRST_SYSTEM_WINDOW +9;

    
     public static final int TYPE_SYSTEM_ERROR      =  FIRST_SYSTEM_WINDOW +10;

    
     public static final int TYPE_INPUT_METHOD      =  FIRST_SYSTEM_WINDOW +11;

    
     public static final int TYPE_INPUT_METHOD_DIALOG= FIRST_SYSTEM_WINDOW +12;

     public static final int TYPE_WALLPAPER         = FIRST_SYSTEM_WINDOW +13;

     public static final int TYPE_STATUS_BAR_PANEL   = FIRST_SYSTEM_WINDOW +14;

       
 public static final int
 
 LAST_SYSTEM_WINDOW
     = 2999;

标签:int,WindowManager,final,WINDOW,static,ayoutParams,public,FIRST
From: https://blog.51cto.com/u_548275/6885706

相关文章

  • android.widget.TextView.getLayoutParams()' on a null object reference
    解决“android.widget.TextView.getLayoutParams()'onanullobjectreference”错误介绍在Android开发过程中,我们经常会遇到各种错误和异常。其中之一就是"android.widget.TextView.getLayoutParams()'onanullobjectreference"错误。当我们在操作一个TextView的LayoutPar......
  • DrawerLayout配合WindowManager在service中使用
    1.原理理解抽屉组件依附在WindowManager上,WindowManager大于DrawerLayout,因此DrawerLayout抽出和放回是基于WindowManager已经展示出来的情况。2.布局文件<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/androi......
  • dxAlertWindowManager1 弹出提示窗口(09)
    默认显示效果(默认半透明,7秒后消失推出,鼠标移入后半透明效果消失)dxAlertWindowManager1.Show('提示','点击了表格'); 可以运行多次,自动垛叠显示01]添加图片显示拖一个cxImageList1,添加64*64图标dxAlertWindowManager1.Show('提示','点击了表格',0); ......
  • Android LayoutParam,MarginLayoutParams
    前言开发中经常会遇到一个场景,给View动态设置margin边距,针对容器类布局比较直观。对非容器类进行margin边距设置需按不同的LayoutParams设置,否则很容造成异常。问题:为......