歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

WindowManager 中ayoutParams的各種屬性

1.
 public int x;
   如果忽略gravity屬性,那麼它表示窗口的絕對X位置。   什麼是gravity屬性呢?簡單地說,就是窗口如何停靠。  當設置了 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 int FIRST_APPLICATION_WINDOW = 1;
 
      所有程序窗口的“基地”窗口,其他應用程序窗口都顯示在它上面。     
      public static final int TYPE_BASE_APPLICATION   =1;       
 
      普通應喲功能程序窗口。token必須設置為Activity的token,以指出該窗口屬誰。
      public static final int TYPE_APPLICATION       = 2;
       用於應用程序啟動時所顯示的窗口。應用本身不要使用這種類型。
      它用於讓系統顯示些信息,直到應用程序可以開啟自己的窗口。   
      public static final int TYPE_APPLICATION_STARTING = 3;
       
      應用程序窗口結束。
      public static final int LAST_APPLICATION_WINDOW = 99;

      子窗口。子窗口的Z序和坐標空間都依賴於他們的宿主窗口。
      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;

      應用程序窗口的子面板。顯示於所有面板窗口的上層。(GUI的一般規律,越“子”越靠上)
      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;

      子窗口結束。( End of types of sub-windows )
      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;

      信息窗口。用於顯示toast。
      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;

      內部輸入法窗口,顯示於普通UI之上。應用程序可重新布局以免被此窗口覆蓋。
      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;
Copyright © Linux教程網 All Rights Reserved