望远山,知近路,而后自得其乐!

WindowManager.LayoutParams

WindowManager.LayoutParams

WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;它继承于 ViewGroup.LayoutParams; 它用于向WindowManager描述Window的管理策略。

定义

public static class WindowManager.LayoutParams 
extends ViewGroup.LayoutParams implements Parcelable

继承关系

java.lang.Object
   |-Android.view.ViewGroup.LayoutParams
       |-android.view.WindowManager.LayoutParams

继承来的属性与常量

从 ViewManager.LayoutParams 继承来的属性:

  • android:layout_height Specifies the basic height of the view.
  • android:layout_width Specifies the basic width of the view.

从 ViewManager.LayoutParams继承的常量:

  • FILL_PARENT
  • WRAP_CONTENT
  • MATCH_PARENT

两个变量:

  • width
  • height

属性及可用的常量定义

flag说明
FLAGS_CHANGED用于表示flags发生了变化,关于此的详细内容请看后文。
FLAG_ALLOW_LOCK_WHILE_SCREEN_ONWindow flag: as long as this window is visible to the user,
allow the lock screen to activate while the screen is on.
当该window对用户可见的时候,允许锁屏。
FLAG_ALT_FOCUSABLE_IMWindow flag: invert the state of FLAG_NOT_FOCUSABLE with respect to
how this window interacts with the current method.
FLAG_BLUR_BEHINDWindow flag: blur everything behind this window.
让该window后所有东西都模糊(blur)
FLAG_DIM_BEHINDWindow flag: everything behind this window will be dimmed.
让该window后所有的东西都成暗淡(dim)
FLAG_DISMISS_KEYGUARDWindow flag: when set the window will cause the keyguard to be dismissed,
only if it is not a secure lock keyguard.
FLAG_DITHERWindow flag: turn on dithering when compositing this window to the screen.
开启抖动(dithering)
FLAG_FORCE_NOT_FULLSCREENWindow flag: Override {@link #FLAG_FULLSCREEN and force the screen
decorations (such as status bar) to be shown.恢复window非全屏显示
FLAG_FULLSCREENWindow flag: Hide all screen decorations (e.g.让window进行全屏显示
FLAG_HARDWARE_ACCELERATEDIndicates whether this window should be hardware accelerated.
对该window进行硬件加速.该flag必须在设置你的Activity或Dialog的
Content View之前进行设置,而且如果你在mainfest文件中用
Android:hardwareAccelerated开启了该属性的话,那么你在程序中就不能再
改变它。mainfest文件中android:hardwareAccelerated属性默认是开启的("true")。
FLAG_IGNORE_CHEEK_PRESSESWindow flag: intended for windows that will often be used when the user is
holding the screen against their face, it will aggressively filter the event stream
to prevent unintended presses in this situation that may not be desired for a
particular window, when such an event stream is detected, the application will
receive a CANCEL motion event to indicate this so applications can handle this
accordingly by taking no action on the event until the finger is released.
FLAG_KEEP_SCREEN_ONWindow flag: as long as this window is visible to the user,
keep the device's screen turned on and bright.
当该window对用户可见时,让设备屏幕处于高亮(bright)状态。
FLAG_LAYOUT_INSET_DECORWindow flag: a special option only for use in combination with
FLAG_LAYOUT_IN_SCREEN.
FLAG_LAYOUT_IN_SCREENWindow flag: place the window within the entire screen, ignoring decorations
around the border (a.k.a.让window占满整个手机屏幕,不留任何边界(border)
FLAG_LAYOUT_NO_LIMITSWindow flag: allow window to extend outside of the screen.
window大小不再不受手机屏幕大小限制,即window可能超出屏幕之外,
这时部分内容在屏幕之外。
FLAG_NOT_FOCUSABLEWindow flag: this window won't ever get key input focus,
so the user can not send key or other button events to it.
让window不能获得焦点,这样用户快就不能向该window发送按键事件及按钮事件
FLAG_NOT_TOUCHABLEWindow flag: this window can never receive touch events.
让该window不接受触摸屏事件
FLAG_NOT_TOUCH_MODALWindow flag: Even when this window is focusable
(its {@link #FLAG_NOT_FOCUSABLE is not set),
allow any pointer events outside of the window to be sent to the windows behind it.
即使在该window在可获得焦点情况下,
仍然把该window之外的任何event发送到该window之后的其他window.
FLAG_SCALEDWindow flag: a special mode where the layout parameters are used to perform
scaling of the surface when it is composited to the screen.
FLAG_SECUREWindow flag: don't allow screen shots while this window is displayed.
当该window在进行显示的时候,不允许截屏。
FLAG_SHOW_WALLPAPERWindow flag: ask that the system wallpaper be shown behind your window.
在该window后显示系统的墙纸(wallpaper)
FLAG_SHOW_WHEN_LOCKEDWindow flag: special flag to let windows be shown when the screen is locked.
当锁屏的时候,显示该window.
FLAG_SPLIT_TOUCHWindow flag: when set the window will accept for touch events outside of its
bounds to be sent to other windows that also support split touch.
When this flag is not set, the first pointer that goes down determines the
windowto which all subsequent touches go until all pointers go up.
When this flag is set, each pointer (not necessarily the first) that goes down
determines the window to which all subsequent touches of that pointer will go
until that pointer goesup thereby enabling touches with multiple pointers to be
split across multiple windows当该window在可以接受触摸屏情况下,
让因在该window之外,而发送到后面的window的触摸屏可以支持split touch.
FLAG_TOUCHABLE_WHEN_WAKINGWindow flag: When set, if the device is asleep when the touch screen is pressed,
you will receive this first touch event.当手机处于睡眠状态时,
如果屏幕被按下,那么该window将第一个收到到事件
FLAG_TURN_SCREEN_ONWindow flag: when set as a window is being added or made visible, once the
window has been shown then the system will poke the power manager's user a
ctivity (as if the user had woken up the device) to turn the screen on.当然
window被显示的时候,系统将把它当做一个用户活动事件,以点亮手机屏幕。
FLAG_WATCH_OUTSIDE_TOUCHWindow flag: if you have set FLAG_NOT_TOUCH_MODAL, you can set
this flag to receive a single special MotionEvent with the action
MotionEvent.ACTION_OUTSIDE for touches that occur outside of your window.
如果你设置了该flag,那么在你FLAG_NOT_TOUNCH_MODAL的情况下,
即使触摸屏事件发送在该window之外,其事件被发送到了后面的window,
那么该window仍然将以MotionEvent.ACTION_OUTSIDE形式收到该触摸屏事件

文章评论已关闭!