日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

WindowManager.LayoutParams详解总结和对应实例

發(fā)布時(shí)間:2024/3/24 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WindowManager.LayoutParams详解总结和对应实例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
總結(jié)的比較好,并加上對(duì)應(yīng)實(shí)例配合參考理解
public static class

WindowManager.LayoutParams

extends?ViewGroup.LayoutParams
implements?Parcelable
java.lang.Object
???? android.view.ViewGroup.LayoutParams
? ???? android.view.WindowManager.LayoutParams
?WindowManager.LayoutParams 是 WindowManager 接口的嵌套類;它繼承于 ViewGroup.LayoutParams;?它用于向WindowManager描述Window的管理策略。 主要成員常量 Window flag系列 該系列主要用于對(duì)Window的flag進(jìn)行設(shè)置。設(shè)置Window的flag,可以直接對(duì)Window的getAttributes()得到其?WindowManager.LayoutParams對(duì)象,然后直接對(duì)它flag變量操作。也可以Window的addFlags(int flags)方法,setFlags(int flags, int mask)方法,clearFlags(int flags)方法進(jìn)行操作。 比如設(shè)置全屏 ?Window window = getWindow();? ?WindowManager.LayoutParams winParams = win.getAttributes(); ?winParams.flags=winParams.flags|WindowManager.LayoutParams.FLAG_FULLSCREEN?window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);?window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);? 取消全屏 ?Window window = getWindow();? ?winParams.flags=winParams.flags&~WindowManager.LayoutParams.FLAG_FULLSCREEN;?window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);window.setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN); 所有Window flag如下:
int FLAGS_CHANGED 用于表示flags發(fā)生了變化,關(guān)于此的詳細(xì)內(nèi)容請(qǐng)看后文。
int FLAG_ALLOW_LOCK_WHILE_SCREEN_ON Window flag: as long as this window is visible to the user, allow the lock screen to activate while the screen is on.
當(dāng)該window對(duì)用戶可見的時(shí)候,允許鎖屏。
int FLAG_ALT_FOCUSABLE_IM Window flag: invert the state of?FLAG_NOT_FOCUSABLE?with respect to how this window interacts with the current method.
int FLAG_BLUR_BEHIND Window flag: blur everything behind this window.
讓該window后所有東西都模糊(blur)
int FLAG_DIM_BEHIND Window flag: everything behind this window will be dimmed.
讓該window后所有的東西都成暗淡(dim)
int FLAG_DISMISS_KEYGUARD Window flag: when set the window will cause the keyguard to be dismissed,?
only if it is not a secure lock keyguard.
int FLAG_DITHER Window flag: turn on dithering when compositing this window to the screen.
開啟抖動(dòng)(dithering)
int FLAG_FORCE_NOT_FULLSCREEN Window flag: Override {@link #FLAG_FULLSCREEN and force the screen decorations (such as status bar) to be shown.
恢復(fù)window非全屏顯示
int FLAG_FULLSCREEN Window flag: Hide all screen decorations (e.g.
window進(jìn)行全屏顯示
int FLAG_HARDWARE_ACCELERATED

Indicates whether this window should be hardware accelerated.

對(duì)該window進(jìn)行硬件加速.

該flag必須在設(shè)置你的Activity或Dialog的Content View之前進(jìn)行設(shè)置,

而且如果你在mainfest文件中用Android:hardwareAccelerated開啟了該屬性的話,那么你在程序中就不能再改變它。mainfest文件中android:hardwareAccelerated屬性默認(rèn)是開啟的("true")。

int FLAG_IGNORE_CHEEK_PRESSES Window 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.
int FLAG_KEEP_SCREEN_ON Window flag: as long as this window is visible to the user, keep the device's screen turned on and bright.
當(dāng)該window對(duì)用戶可見時(shí),讓設(shè)備屏幕處于高亮(bright)狀態(tài)。
int FLAG_LAYOUT_INSET_DECOR Window flag: a special option only for use in combination with?FLAG_LAYOUT_IN_SCREEN.
int FLAG_LAYOUT_IN_SCREEN Window flag: place the window within the entire screen, ignoring decorations around the border (a.k.a.
window占滿整個(gè)手機(jī)屏幕,不留任何邊界(border)
int FLAG_LAYOUT_NO_LIMITS Window flag: allow window to extend outside of the screen.
window大小不再不受手機(jī)屏幕大小限制,即window可能超出屏幕之外,這時(shí)部分內(nèi)容在屏幕之外。
int FLAG_NOT_FOCUSABLE Window flag: this window won't ever get key input focus, so the user can not send key or other button events to it.
window不能獲得焦點(diǎn),這樣用戶快就不能向該window發(fā)送按鍵事件及按鈕事件
int FLAG_NOT_TOUCHABLE Window flag: this window can never receive touch events.
讓該window不接受觸摸屏事件
int FLAG_NOT_TOUCH_MODAL Window 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在可獲得焦點(diǎn)情況下,仍然把該window之外的任何event發(fā)送到該window之后的其他window.
int FLAG_SCALED Window flag: a special mode where the layout parameters are used to perform scaling of the surface when it is composited to the screen.
int FLAG_SECURE Window flag: don't allow screen shots while this window is displayed.
當(dāng)該window在進(jìn)行顯示的時(shí)候,不允許截屏。
int FLAG_SHOW_WALLPAPER Window flag: ask that the system wallpaper be shown behind your window.
在該window后顯示系統(tǒng)的墻紙(wallpaper)
int FLAG_SHOW_WHEN_LOCKED Window flag: special flag to let windows be shown when the screen is locked.
當(dāng)鎖屏的時(shí)候,顯示該window.
int FLAG_SPLIT_TOUCH Window 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 window to 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 goes up thereby enabling touches with multiple pointers to be split across multiple windows
當(dāng)該window在可以接受觸摸屏情況下,讓因在該window之外,而發(fā)送到后面的window的觸摸屏可以支持split touch.
int FLAG_TOUCHABLE_WHEN_WAKING Window flag: When set, if the device is asleep when the touch screen is pressed, you will receive this first touch event.
當(dāng)手機(jī)處于睡眠狀態(tài)時(shí),如果屏幕被按下,那么該window將第一個(gè)收到到事件
int FLAG_TURN_SCREEN_ON Window 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 activity (as if the user had woken up the device) to turn the screen on.
當(dāng)然window被顯示的時(shí)候,系統(tǒng)將把它當(dāng)做一個(gè)用戶活動(dòng)事件,以點(diǎn)亮手機(jī)屏幕。
int FLAG_WATCH_OUTSIDE_TOUCH Window 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.
如果你設(shè)置了該flag,那么在你FLAG_NOT_TOUNCH_MODAL的情況下,即使觸摸屏事件發(fā)送在該window之外,其事件被發(fā)送到了后面的window,那么該window仍然將以MotionEvent.ACTION_OUTSIDE形式收到該觸摸屏事件
softInputMode系列 該系列主要用于表示softInputMode,我們可以通過WindowManager.LayoutParams的softInputMode變量直接進(jìn)行設(shè)置。softInputMode只能是一個(gè)顯示軟鍵盤時(shí)的window調(diào)整方式bite與一個(gè)控制軟鍵盤顯示狀態(tài)的bite的組合。 顯示軟鍵盤時(shí)的window調(diào)整方式可以是SOFT_INPUT_ADJUST_NOTHINGSOFT_INPUT_ADJUST_PAN SOFT_INPUT_ADJUST_RESIZESOFT_INPUT_ADJUST_UNSPECIFIED之一。 用于描述軟鍵盤顯示的規(guī)則可以是SOFT_INPUT_STATE_ALWAYS_HIDDENSOFT_INPUT_STATE_ALWAYS_VISIBLE SOFT_INPUT_STATE_HIDDENSOFT_INPUT_STATE_VISIBLESOFT_INPUT_STATE_UNSPECIFIED之一 關(guān)于softInputMode的更多知識(shí)請(qǐng)參考軟件盤的開關(guān)》 所有的softInputMode系列常量如下:

int

SOFT_INPUT_ADJUST_NOTHING

Adjustment option for?softInputMode:

set to have a window not adjust for a shown input method.
當(dāng)顯示軟鍵盤時(shí),不調(diào)整window的布局

int

SOFT_INPUT_ADJUST_PAN

?

??????????????

Adjustment option for?softInputMode: set to have a window

pan when an input method is shown, so it doesn't need to deal

with resizing but just panned by the framework to ensure the

current input focus is visible.
當(dāng)顯示軟鍵盤時(shí),調(diào)整window空白區(qū)域來顯示軟鍵盤。

即使調(diào)整空白區(qū)域,軟鍵盤還是有可能遮擋一些有內(nèi)容區(qū)域,

這時(shí)用戶就只有退出軟鍵盤才能看到這些被遮擋區(qū)域并進(jìn)行交互。

?

????????????????

int

SOFT_INPUT_ADJUST_RESIZE

Adjustment option for?softInputMode: set to allow the window

to be resized when an input method is shown, so that its contents

are not covered by the input method.
當(dāng)顯示軟鍵盤時(shí),調(diào)整window內(nèi)的控件大小以便顯示軟鍵盤。

這樣的話控件可能會(huì)變形。

int

SOFT_INPUT_ADJUST_UNSPECIFIED

Adjustment option for?softInputMode: nothing specified.
不指定顯示軟件盤時(shí),window的調(diào)整方式。

int

SOFT_INPUT_IS_FORWARD_NAVIGATION

Bit for?softInputMode: set when the user has navigated

forward to the window.
表示用戶導(dǎo)航(navigate)到了你的window

int

SOFT_INPUT_MASK_ADJUST

Mask for?softInputMode?of the bits that determine the way that

the window should be adjusted to accommodate the soft input

window.
顯示軟鍵盤時(shí),用于表示window調(diào)整方式的bitemask。
顯示軟鍵盤時(shí)的window調(diào)整方式可以是

SOFT_INPUT_ADJUST_NOTHING

SOFT_INPUT_ADJUST_PAN

SOFT_INPUT_ADJUST_RESIZE

SOFT_INPUT_ADJUST_UNSPECIFIED。
用于描述軟鍵盤顯示的規(guī)則可以是

SOFT_INPUT_STATE_ALWAYS_HIDDEN

SOFT_INPUT_STATE_ALWAYS_VISIBLE
SOFT_INPUT_STATE_HIDDEN

SOFT_INPUT_STATE_VISIBLE

SOFT_INPUT_STATE_UNSPECIFIED之一

int

SOFT_INPUT_MASK_STATE

Mask for?softInputMode?of the bits that determine the desired

visibility state of the soft input area for this window.
用于描述軟鍵盤顯示規(guī)則的bitemask.

int

SOFT_INPUT_MODE_CHANGED

用于表示softInputMode發(fā)生了變化。關(guān)于此的詳細(xì)內(nèi)容請(qǐng)看后文。

int

SOFT_INPUT_STATE_ALWAYS_HIDDEN

Visibility state for?softInputMode:?
please always hide any soft input area when this window receives

focus.
總是隱藏軟鍵盤。

int

SOFT_INPUT_STATE_ALWAYS_VISIBLE

Visibility state for?softInputMode:
?please always make the soft input area visible when this window

receives input focus.
總是顯示軟鍵盤

int

SOFT_INPUT_STATE_HIDDEN

Visibility state for?softInputMode:?
please hide any soft input area when normally appropriate (when

the user is navigating forward to your window).
用戶導(dǎo)航(navigate)到你的窗口的時(shí)候,隱藏軟鍵盤

int

SOFT_INPUT_STATE_UNCHANGED

Visibility state for?softInputMode: please don't change the

state of the soft input area.

int

SOFT_INPUT_STATE_UNSPECIFIED

Visibility state for?softInputMode: no state has been specified.
沒有軟鍵盤顯示的約定規(guī)則

int

SOFT_INPUT_STATE_VISIBLE

Visibility state for?softInputMode: please show the soft input

area when normally appropriate?
(when the user is navigating forward to your window).
用戶導(dǎo)航(navigate)到你的窗口的時(shí)候,顯示軟鍵盤


Window type系列 該系列主要用于表示window的類型。我們可以通過WindowManager.LayoutParamstype變量直接進(jìn)行設(shè)置.
int TYPE_APPLICATION Window type: a normal application window.
普通的應(yīng)用程序window,token必須設(shè)置為Activity的token,以指出該窗口屬誰
int TYPE_APPLICATION_ATTACHED_DIALOG Window type: like?TYPE_APPLICATION_PANEL, but layout of the window happens as that of a top-level window,?not?as a child of its container.
對(duì)話框。類似于面板窗口,繪制類似于頂層窗口,而不是宿主的子窗口。
int TYPE_APPLICATION_MEDIA Window type: window for showing media (e.g.
媒體窗口,例如視頻。顯示于宿主窗口下層。
int TYPE_APPLICATION_PANEL Window type: a panel on top of an application window.
面板窗口,顯示于宿主窗口上層
int TYPE_APPLICATION_STARTING Window type: special application window that is displayed while the application is starting.
用于應(yīng)用程序啟動(dòng)時(shí)所顯示的窗口。應(yīng)用本身不要使用這種類型。它用于讓系統(tǒng)顯示些信息,直到應(yīng)用程序可以開啟自己的窗口
int TYPE_APPLICATION_SUB_PANEL Window type: a sub-panel on top of an application window.
應(yīng)用程序窗口的子面板。顯示于所有面板窗口的上層。(GUI的一般規(guī)律,越“子”越靠上)
int TYPE_BASE_APPLICATION Window type: an application window that serves as the "base" window of the overall application; all other application windows will appear on top of it.
所有程序窗口的“基地”窗口,其他應(yīng)用程序窗口都顯示在它上面。?
int TYPE_CHANGED 表示window的類型發(fā)生了變化,關(guān)于此的詳細(xì)內(nèi)容請(qǐng)看后文。
int TYPE_INPUT_METHOD Window type: internal input methods windows, which appear above the normal UI.
內(nèi)部輸入法窗口,顯示于普通UI之上。應(yīng)用程序可重新布局以免被此窗口覆蓋
int TYPE_INPUT_METHOD_DIALOG Window type: internal input methods dialog windows, which appear above the current input method window.
內(nèi)部輸入法對(duì)話框,顯示于當(dāng)前輸入法窗口之上
int TYPE_KEYGUARD Window type: keyguard window.
鎖屏窗口
int TYPE_KEYGUARD_DIALOG Window type: dialogs that the keyguard shows
鎖屏?xí)r顯示的對(duì)話框
int TYPE_PHONE Window type: phone.
電話窗口。它用于電話交互(特別是呼入)。它置于所有應(yīng)用程序之上,狀態(tài)欄之下。
int TYPE_PRIORITY_PHONE Window type: priority phone UI, which needs to be displayed even if the keyguard is active.
電話優(yōu)先,當(dāng)鎖屏?xí)r顯示。此窗口不能獲得輸入焦點(diǎn),否則影響鎖屏。
int TYPE_SEARCH_BAR Window type: the search bar.
搜索欄。只能有一個(gè)搜索欄;它位于屏幕上方。
int TYPE_STATUS_BAR Window type: the status bar.
狀態(tài)欄類型的window。只能有一個(gè)狀態(tài)欄window;它位于屏幕頂端,其他窗口都位于它下方。
int TYPE_STATUS_BAR_PANEL Window type: panel that slides out from over the status bar
狀態(tài)欄的滑動(dòng)面板
int TYPE_SYSTEM_ALERT Window type: system window, such as low power alert.
系統(tǒng)提示window,比如電池低的警告。它總是出現(xiàn)在應(yīng)用程序窗口之上。
int TYPE_SYSTEM_DIALOG Window type: panel that slides out from the status bar
系統(tǒng)對(duì)話框。(例如音量調(diào)節(jié)框)
int TYPE_SYSTEM_ERROR Window type: internal system error windows, appear on top of everything they can.
系統(tǒng)內(nèi)部錯(cuò)誤提示,顯示于所有內(nèi)容之上
int TYPE_SYSTEM_OVERLAY Window type: system overlay windows, which need to be displayed on top of everything else.
系統(tǒng)頂層窗口。顯示在其他一切內(nèi)容之上。此窗口不能獲得輸入焦點(diǎn),否則影響鎖屏。
int TYPE_TOAST Window type: transient notifications.
toast類型的window
int TYPE_WALLPAPER Window type: wallpaper window,?
placed behind any window that wants to sit on top of the wallpaper.
用于墻紙的window
window 的類型被分為了3大類: Application windows?(ranging from?FIRST_APPLICATION_WINDOW?to?LAST_APPLICATION_WINDOW) are normal top-level application windows. For these types of windows, the token must be set to the token of the activity they are a part of (this will normally be done for you if token is null). Sub-windows?(ranging from?FIRST_SUB_WINDOW?to?LAST_SUB_WINDOW) are associated with another top-level window. For these types of windows, the token must be the token of the window it is attached to. System windows?(ranging from?FIRST_SYSTEM_WINDOW?to?LAST_SYSTEM_WINDOW) are special types of windows for use by the system for specific purposes. They should not normally be used by applications, and a special permission is required to use them. 系統(tǒng)專門定義FIRST_APPLICATION_WINDOW?,?LAST_APPLICATION_WINDOW,FIRST_SUB_WINDOW,?LAST_SUB_WINDOW, FIRST_SYSTEM_WINDOW,LAST_SYSTEM_WINDOW?以表示window的3大類型的類型的取值的范圍。
int FIRST_APPLICATION_WINDOW Start of window types that represent normal application windows.
Constant Value: 1 (0x00000001)
int FIRST_SUB_WINDOW Start of types of sub-windows.
Constant Value: 1000 (0x000003e8)
int FIRST_SYSTEM_WINDOW Start of system-specific window types.
Constant Value: 2000 (0x000007d0)
int LAST_APPLICATION_WINDOW End of types of application windows.
Constant Value: 99 (0x00000063)
int LAST_SUB_WINDOW End of types of sub-windows.
Constant Value: 1999 (0x000007cf)
int LAST_SYSTEM_WINDOW End of types of system windows.
Constant Value: 2999 (0x00000bb7)
BRIGHTNESS系列 該系列主要用于設(shè)置window的brightness(screenBrightness/buttonBrightness)。我們可以通過WindowManager.LayoutParamsscreenBrightness/buttonBrightness變量直接進(jìn)行設(shè)置。 其中screenBrightness表示屏幕的brightness,而buttonBrightness表示一般按鍵和鍵盤按鍵的brightness
float BRIGHTNESS_OVERRIDE_FULL Value for?screenBrightness?and?buttonBrightness?
indicating that the screen or button backlight brightness should be set to the hightest value?
when this window is in front.
brightness(screenBrightness/buttonBrightness)設(shè)置到最高值。
float BRIGHTNESS_OVERRIDE_NONE Default value for?screenBrightness?and?buttonBrightness?indicating that the brightness value is not overridden for this window and normal brightness policy should be used.
不對(duì)brightness(screenBrightness/buttonBrightness)重新進(jìn)行設(shè)置,采用默認(rèn)的普通值。
float BRIGHTNESS_OVERRIDE_OFF Value for?screenBrightness?and?buttonBrightness?indicating that the screen or button backlight brightness should be set to the lowest value when this window is in front.
brightness(screenBrightness/buttonBrightness)設(shè)置到最低值。
changed系列 該系列主要用于?int?copyFrom?(WindowManager.LayoutParams?o)函數(shù)中。 在函數(shù)中,首先將用參數(shù)中傳入的WindowManager.LayoutParams的信息復(fù)制到本WindowManager.LayoutParams,然后返回一個(gè)整數(shù),以bite形式表示調(diào)用該函數(shù)后WindowManager.LayoutParams的哪些信息發(fā)送了變化
int ALPHA_CHANGED 用于表示成員變量alpha是否被改變
int ANIMATION_CHANGED 用于表示成員變量windowAnimations是否被改變
int DIM_AMOUNT_CHANGED 用于表示成員變量dimAmount是否被改變
int FLAGS_CHANGED 用于表示成員變量flags是否被改變
int LAYOUT_CHANGED 用于表示layout是否被改變.這里的layout是指以下變量所包含的信息:
width,height,x,y,?verticalMargin,verticalWeight,horizontalMargin,horizontalWeight
int SCREEN_BRIGHTNESS_CHANGED 用于表示brightness是否被改變.
這里的
brightness是指以下變量對(duì)應(yīng)的信息:screenBrightness,buttonBrightness
int SCREEN_ORIENTATION_CHANGED 用于表示成員變量screenOrientation是否被改變
int SOFT_INPUT_MODE_CHANGED 用于表示成員變量softInputMode是否被改變
int TITLE_CHANGED 用于表示成員變量title是否被改變
int TYPE_CHANGED 用于表示成員變量type是否被改變
int FORMAT_CHANGED Constant Value:?8?(0x00000008)
用于表示成員變量format是否被改變
成員變量 繼承于ViewGroup.LayoutParams的成員變量
public int height Information about how tall the view wants to be.
public?LayoutAnimationController.AnimationParameters layoutAnimationParameters Used to animate layouts.
public int width Information about how wide the view wants to be.
自身的成員變量
public static final?Creator<WindowManager.LayoutParams> CREATOR ?
public float alpha An alpha value to apply to this entire window.
public float buttonBrightness This can be used to override the standard behavior of the button and keyboard backlights.
public float dimAmount When?FLAG_DIM_BEHIND?is set, this is the amount of dimming to apply.
public int flags Various behavioral options/flags.
public int format The desired bitmap format.
public int gravity Placement of window within the screen as per?Gravity.
public float horizontalMargin The horizontal margin, as a percentage of the container's width, between the container and the widget.
public float horizontalWeight Indicates how much of the extra space will be allocated horizontally to the view associated with these LayoutParams.
public int memoryType This field is deprecated. this is ignored
public?String packageName Name of the package owning this window.
public float screenBrightness This can be used to override the user's preferred brightness of the screen.
public int screenOrientation Specific orientation value for a window.
public int softInputMode Desired operating mode for any soft input area.
public int systemUiVisibility Control the visibility of the status bar.
public?IBinder token Identifier for this window.
public int type The general type of window.
public float verticalMargin The vertical margin, as a percentage of the container's height, between the container and the widget.
public float verticalWeight Indicates how much of the extra space will be allocated vertically to the view associated with these LayoutParams.
public int windowAnimations A style resource defining the animations to use for this window.
public int x X position for this window.
public int y Y position for this window.
成員函數(shù) ublic Methods
final int copyFrom(WindowManager.LayoutParams?o)
String debug(String?output)Returns a String representation of this set of layout parameters.
int describeContents()Describe the kinds of special objects contained in this Parcelable's marshalled representation.
final?CharSequence getTitle()
static boolean mayUseInputMethod(int flags)Given a particular set of window manager flags, determine whether such a window may be a target for an input method when it has focus.
final void setTitle(CharSequence?title)
String toString()Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel?out, int parcelableFlags)Flatten this object in to a Parcel.
結(jié)束! 轉(zhuǎn)載地址:http://blog.csdn.net/i_lovefish/article/details/8050025 實(shí)例地址:http://www.cnblogs.com/mengdd/p/3824782.html

Android懸浮窗實(shí)現(xiàn) 使用WindowManager

?

WindowManager介紹

  通過Context.getSystemService(Context.WINDOW_SERVICE)可以獲得?WindowManager對(duì)象。

  每一個(gè)WindowManager對(duì)象都和一個(gè)特定的?Display綁定。

  想要獲取一個(gè)不同的display的WindowManager,可以用?createDisplayContext(Display)來獲取那個(gè)display的?Context,之后再使用:

  Context.getSystemService(Context.WINDOW_SERVICE)來獲取WindowManager。

?

  使用WindowManager可以在其他應(yīng)用最上層,甚至手機(jī)桌面最上層顯示窗口。

  調(diào)用的是WindowManager繼承自基類的addView方法和removeView方法來顯示和隱藏窗口。具體見后面的實(shí)例。

?

  另:API 17推出了Presentation,它將自動(dòng)獲取display的Context和WindowManager,可以方便地在另一個(gè)display上顯示窗口。

?

WindowManager實(shí)現(xiàn)懸浮窗例子

聲明權(quán)限

  首先在manifest中添加如下權(quán)限:

<!-- 顯示頂層浮窗 --> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

  

  注意:在MIUI上需要在設(shè)置中打開本應(yīng)用的”顯示懸浮窗”開關(guān),并且重啟應(yīng)用,否則懸浮窗只能顯示在本應(yīng)用界面內(nèi),不能顯示在手機(jī)桌面上。

?

服務(wù)獲取和基本參數(shù)設(shè)置

// 獲取應(yīng)用的ContextmContext = context.getApplicationContext();// 獲取WindowManagermWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);

  參數(shù)設(shè)置:

final WindowManager.LayoutParams params = new WindowManager.LayoutParams();// 類型params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;// WindowManager.LayoutParams.TYPE_SYSTEM_ALERT// 設(shè)置flagint flags = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;// | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;// 如果設(shè)置了WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,彈出的View收不到Back鍵的事件params.flags = flags;// 不設(shè)置這個(gè)彈出框的透明遮罩顯示為黑色params.format = PixelFormat.TRANSLUCENT;// FLAG_NOT_TOUCH_MODAL不阻塞事件傳遞到后面的窗口// 設(shè)置 FLAG_NOT_FOCUSABLE 懸浮窗口較小時(shí),后面的應(yīng)用圖標(biāo)由不可長(zhǎng)按變?yōu)榭砷L(zhǎng)按// 不設(shè)置這個(gè)flag的話,home頁(yè)的劃屏?xí)袉栴} params.width = LayoutParams.MATCH_PARENT;params.height = LayoutParams.MATCH_PARENT;params.gravity = Gravity.CENTER;

?

點(diǎn)擊和按鍵事件

  除了View中的各個(gè)控件的點(diǎn)擊事件之外,彈窗View的消失控制需要一些處理。

  點(diǎn)擊彈窗外部可隱藏彈窗的效果,首先,懸浮窗是全屏的,只不過最外層的是透明或者半透明的:

  布局如下:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center"android:background="@color/darken_background"android:gravity="center"android:orientation="vertical" ><RelativeLayoutandroid:id="@+id/popup_window"android:layout_width="@dimen/dialog_window_width"android:layout_height="@dimen/dialog_window_height"android:background="@color/white"android:orientation="vertical" ><TextViewandroid:id="@+id/title"android:layout_width="match_parent"android:layout_height="@dimen/dialog_title_height"android:gravity="center"android:text="@string/default_title"android:textColor="@color/dialog_title_text_color"android:textSize="@dimen/dialog_title_text_size" /><Viewandroid:id="@+id/title_divider"android:layout_width="match_parent"android:layout_height="2dp"android:layout_below="@id/title"android:background="@drawable/dialog_title_divider" /><TextViewandroid:id="@+id/content"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/title_divider"android:gravity="center"android:padding="@dimen/dialog_content_padding_side"android:text="@string/default_content"android:textColor="@color/dialog_content_text_color"android:textSize="@dimen/dialog_content_text_size" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:orientation="horizontal"android:paddingBottom="@dimen/dialog_content_padding_bottom"android:paddingLeft="@dimen/dialog_content_padding_side"android:paddingRight="@dimen/dialog_content_padding_side" ><Buttonandroid:id="@+id/negativeBtn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:background="@drawable/promote_window_negative_btn_selector"android:focusable="true"android:padding="@dimen/dialog_button_padding"android:text="@string/default_btn_cancel"android:textColor="@color/dialog_negative_btn_text_color"android:textSize="@dimen/dialog_button_text_size" /><Buttonandroid:id="@+id/positiveBtn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="18dp"android:layout_weight="1"android:background="@drawable/promote_window_positive_btn_selector"android:focusable="true"android:padding="@dimen/dialog_button_padding"android:text="@string/default_btn_ok"android:textColor="@color/dialog_positive_btn_text_color"android:textSize="@dimen/dialog_button_text_size" /></LinearLayout></RelativeLayout></LinearLayout>

?

  點(diǎn)擊外部可消除設(shè)置:

// 點(diǎn)擊窗口外部區(qū)域可消除// 這點(diǎn)的實(shí)現(xiàn)主要將懸浮窗設(shè)置為全屏大小,外層有個(gè)透明背景,中間一部分視為內(nèi)容區(qū)域// 所以點(diǎn)擊內(nèi)容區(qū)域外部視為點(diǎn)擊懸浮窗外部final View popupWindowView = view.findViewById(R.id.popup_window);// 非透明的內(nèi)容區(qū)域 view.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {LogUtil.i(LOG_TAG, "onTouch");int x = (int) event.getX();int y = (int) event.getY();Rect rect = new Rect();popupWindowView.getGlobalVisibleRect(rect);if (!rect.contains(x, y)) {WindowUtils.hidePopupWindow();}LogUtil.i(LOG_TAG, "onTouch : " + x + ", " + y + ", rect: "+ rect);return false;}});

?

  點(diǎn)擊Back鍵可隱藏彈窗:

  注意Flag不能設(shè)置WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE

// 點(diǎn)擊back鍵可消除view.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_BACK:WindowUtils.hidePopupWindow();return true;default:return false;}}});

?

完整效果

  完整代碼:

package com.example.hellowindow;import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;public class MainActivity extends Activity {private Handler mHandler = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mHandler = new Handler();Button button = (Button) findViewById(R.id.button);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {mHandler.postDelayed(new Runnable() {@Overridepublic void run() {WindowUtils.showPopupWindow(MainActivity.this);}}, 1000 * 3);}});} } package com.example.hellowindow;import android.content.Context; import android.graphics.PixelFormat; import android.graphics.Rect; import android.view.Gravity; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.View.OnKeyListener; import android.view.View.OnTouchListener; import android.view.WindowManager; import android.view.View.OnClickListener; import android.view.WindowManager.LayoutParams; import android.widget.Button;/*** 彈窗輔助類** @ClassName WindowUtils***/ public class WindowUtils {private static final String LOG_TAG = "WindowUtils";private static View mView = null;private static WindowManager mWindowManager = null;private static Context mContext = null;public static Boolean isShown = false;/*** 顯示彈出框** @param context* @param view*/public static void showPopupWindow(final Context context) {if (isShown) {LogUtil.i(LOG_TAG, "return cause already shown");return;}isShown = true;LogUtil.i(LOG_TAG, "showPopupWindow");// 獲取應(yīng)用的ContextmContext = context.getApplicationContext();// 獲取WindowManagermWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);mView = setUpView(context);final WindowManager.LayoutParams params = new WindowManager.LayoutParams();// 類型params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;// WindowManager.LayoutParams.TYPE_SYSTEM_ALERT// 設(shè)置flagint flags = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;// | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;// 如果設(shè)置了WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,彈出的View收不到Back鍵的事件params.flags = flags;// 不設(shè)置這個(gè)彈出框的透明遮罩顯示為黑色params.format = PixelFormat.TRANSLUCENT;// FLAG_NOT_TOUCH_MODAL不阻塞事件傳遞到后面的窗口// 設(shè)置 FLAG_NOT_FOCUSABLE 懸浮窗口較小時(shí),后面的應(yīng)用圖標(biāo)由不可長(zhǎng)按變?yōu)榭砷L(zhǎng)按// 不設(shè)置這個(gè)flag的話,home頁(yè)的劃屏?xí)袉栴} params.width = LayoutParams.MATCH_PARENT;params.height = LayoutParams.MATCH_PARENT;params.gravity = Gravity.CENTER;mWindowManager.addView(mView, params);LogUtil.i(LOG_TAG, "add view");}/*** 隱藏彈出框*/public static void hidePopupWindow() {LogUtil.i(LOG_TAG, "hide " + isShown + ", " + mView);if (isShown && null != mView) {LogUtil.i(LOG_TAG, "hidePopupWindow");mWindowManager.removeView(mView);isShown = false;}}private static View setUpView(final Context context) {LogUtil.i(LOG_TAG, "setUp view");View view = LayoutInflater.from(context).inflate(R.layout.popupwindow,null);Button positiveBtn = (Button) view.findViewById(R.id.positiveBtn);positiveBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {LogUtil.i(LOG_TAG, "ok on click");// 打開安裝包// 隱藏彈窗 WindowUtils.hidePopupWindow();}});Button negativeBtn = (Button) view.findViewById(R.id.negativeBtn);negativeBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {LogUtil.i(LOG_TAG, "cancel on click");WindowUtils.hidePopupWindow();}});// 點(diǎn)擊窗口外部區(qū)域可消除// 這點(diǎn)的實(shí)現(xiàn)主要將懸浮窗設(shè)置為全屏大小,外層有個(gè)透明背景,中間一部分視為內(nèi)容區(qū)域// 所以點(diǎn)擊內(nèi)容區(qū)域外部視為點(diǎn)擊懸浮窗外部final View popupWindowView = view.findViewById(R.id.popup_window);// 非透明的內(nèi)容區(qū)域 view.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {LogUtil.i(LOG_TAG, "onTouch");int x = (int) event.getX();int y = (int) event.getY();Rect rect = new Rect();popupWindowView.getGlobalVisibleRect(rect);if (!rect.contains(x, y)) {WindowUtils.hidePopupWindow();}LogUtil.i(LOG_TAG, "onTouch : " + x + ", " + y + ", rect: "+ rect);return false;}});// 點(diǎn)擊back鍵可消除view.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_BACK:WindowUtils.hidePopupWindow();return true;default:return false;}}});return view;} }

?

?










總結(jié)

以上是生活随笔為你收集整理的WindowManager.LayoutParams详解总结和对应实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产精品欧美在线 | 在线日韩视频 | 国产xvideos免费视频播放 | 色多多在线观看 | 国产毛片aaa| 久久国产99 | 91av视频导航| 亚洲国产影院av久久久久 | 国产成人精品一区二区三区福利 | 午夜av大片 | av中文天堂 | 亚洲一区二区三区在线看 | www.com在线观看 | v片在线看 | 国产亚洲免费的视频看 | 国产亚洲高清视频 | 91精品一区二区三区蜜桃 | 免费看的国产视频网站 | 日韩精品播放 | 亚洲精品综合欧美二区变态 | 99爱在线观看 | 久久精品香蕉视频 | 黄色的视频网站 | 97av精品| 91中文字幕一区 | 天天操天天艹 | 99久久激情视频 | www免费网站在线观看 | 九九热在线观看 | 在线影视 一区 二区 三区 | 久久久999| 久久综合欧美 | 九九爱免费视频 | 成人a v视频| 在线va网站 | 最近日本韩国中文字幕 | 日韩成人黄色av | 成片视频免费观看 | 国产精品理论在线观看 | 99精品国产免费久久久久久下载 | 久精品视频在线观看 | 久草久视频 | 91av在线精品 | 天天干天天插 | 91av视频免费观看 | 久久国产精品免费一区 | 国产xxxx性hd极品 | 亚洲第一区在线观看 | 手机成人在线电影 | 国产精品久久久久久a | 手机在线观看国产精品 | 丁香色婷婷 | 天海冀一区二区三区 | 精品久久网站 | 日本中文字幕视频 | 日本在线观看一区二区 | 亚洲高清在线精品 | 伊人天天干 | 四虎永久网站 | 精品国产精品一区二区夜夜嗨 | 久草视频在线资源站 | 欧美久久影院 | 久久免费在线观看视频 | 麻豆传媒视频在线 | 国产小视频在线看 | 久久久黄色 | 毛片视频网址 | 日韩中文字幕电影 | 久久香蕉国产 | 在线国产能看的 | 中文字幕国产亚洲 | 久久国产成人午夜av影院宅 | 日韩视频免费看 | 国产免费黄视频在线观看 | 日b视频国产 | 久久免费黄色 | 97精品伊人 | 亚洲国产免费看 | 日韩午夜一级片 | 亚洲国产激情 | 天天色综合三 | 99精品视频网站 | 国产精选在线 | av动态图片 | 久久久在线免费观看 | 丰满少妇高潮在线观看 | 欧美电影黄色 | 亚洲成人黄色av | 国产福利在线 | 27xxoo无遮挡动态视频 | 中文字幕av有码 | 2019久久精品 | 91视频免费看 | 久久婷婷国产色一区二区三区 | 亚洲国产综合在线 | 丁香婷婷综合激情 | 天天干com| 久久99视频免费 | 欧美色婷 | 免费看国产精品 | 日韩一区二区三区免费视频 | 国产在线视频一区二区三区 | av在线免费观看网站 | 97精产国品一二三产区在线 | 狠狠色丁香婷婷 | 国产又粗又长又硬免费视频 | 国模一区二区三区四区 | 日韩系列在线观看 | 久久久久免费 | 一区二区三区四区精品视频 | 国产色视频网站2 | 免费在线一区二区 | 国产尤物一区二区三区 | 久久在线精品 | 国产精品久久久久久久久免费 | 久久手机精品视频 | 在线天堂v| 天天天天干 | 亚洲精品视频在线观看免费视频 | 在线看的毛片 | 中文字幕在线影院 | 久久精品国产一区二区三 | 亚洲年轻女教师毛茸茸 | 永久免费看av | 亚洲国产999 | 91手机电视 | 色婷五月天 | 丁香六月在线观看 | 免费看污的网站 | 网站你懂的 | 四川妇女搡bbbb搡bbbb搡 | 国产日产高清dvd碟片 | 中文有码在线视频 | 五月宗合网 | 日韩va欧美va亚洲va久久 | 国产做a爱一级久久 | www.亚洲在线 | 狠狠色综合网站久久久久久久 | 日本精品视频在线播放 | 精品福利网 | 中文字幕乱码电影 | 亚洲国产片| 人人精品久久 | 国产超碰97 | 国产一级视频在线 | 国产精品日韩在线 | 天天激情在线 | 在线观看视频免费大全 | 亚洲综合激情 | 亚洲视频第一页 | 91视频88av| 91视频首页 | 91av视频播放 | 欧美十八 | 国产午夜精品av一区二区 | 97在线观看免费观看高清 | 六月丁香久久 | 丝袜美女在线观看 | 国产精品毛片一区二区在线 | 精品国产一区二区三区久久影院 | 99看视频在线观看 | 日韩av一区二区三区在线观看 | 日日操操 | 国产精品久久久久永久免费看 | 中文字幕在线观看一区二区三区 | 亚洲精品中文在线 | 国产成人精品一区二区三区福利 | 欧美人操人 | 在线观看国产亚洲 | 最新中文字幕在线资源 | 午夜婷婷在线观看 | 日韩av网页| av在线com | 色资源网在线观看 | 国产你懂的在线 | 色吊丝在线永久观看最新版本 | av中文国产 | 久久999精品 | 激情黄色一级片 | 99在线热播精品免费 | 99久久精品无码一区二区毛片 | 国产一区二区三区免费在线 | 亚洲一二三在线 | 91成年人视频| 国产永久网站 | 国产精品久久久区三区天天噜 | 伊人热| 国产破处视频在线播放 | 97在线精品| 欧美黑人性猛交 | 99999精品 | 97人人澡人人添人人爽超碰 | 91精品麻豆| 国产999精品久久久久久 | 天天射天天射天天 | 亚洲一区二区三区91 | 天天摸夜夜添 | 亚洲国产大片 | 丁香在线观看完整电影视频 | 国外av在线| 久久成人综合视频 | 91成人精品 | 在线99视频| 久久国产a | 中文字幕一区在线 | 久草在线免费播放 | 91成人区 | 亚洲一区二区91 | 日韩av一区二区在线播放 | 国产高清视频免费在线观看 | 国产一级精品视频 | 4p变态网欧美系列 | 最近中文字幕免费观看 | av中文字幕在线播放 | 808电影免费观看三年 | 国产精品永久免费 | 久久爱影视i | 伊人天天 | 久草精品在线播放 | 国产又粗又猛又爽 | 成人中心免费视频 | 婷婷夜夜| 久久久久久久国产精品 | 日韩欧美99| 中文字幕刺激在线 | 亚洲国产电影在线观看 | 天堂成人在线 | av久久在线 | 色午夜影院 | 麻豆免费在线播放 | 国产护士在线 | 国产精品专区一 | 亚洲国内精品在线 | 久久久久一区二区三区 | 亚洲久草网 | 精品影院 | 粉嫩一区二区三区粉嫩91 | 日韩精品视频在线免费观看 | 婷婷丁香花五月天 | 成人性生交大片免费观看网站 | 亚洲午夜久久久综合37日本 | 天天操网站 | 国产中文字幕在线免费观看 | 欧美一区二区三区免费观看 | 96久久欧美麻豆网站 | 国产做爰视频 | 在线观看www.| 国产精品1000 | 看污网站| 天天色天天色 | 一区二区三区在线看 | 国产 在线 高清 精品 | 91九色精品国产 | 国产精品久久久久久久久久久杏吧 | 欧美日韩一区二区三区在线免费观看 | 国产福利91精品一区二区三区 | 91夜夜夜| 综合天天 | 在线中文字幕电影 | 中文字幕免费 | 免费看国产视频 | 美女精品在线 | 精品久久久久国产 | 玖玖爱国产在线 | 伊人天堂网 | 人人精品| 久久视频这里有久久精品视频11 | 深爱激情综合 | 狠狠躁天天躁综合网 | 国产黄a三级三级三级三级三级 | 草久久久 | 久久精品国产一区二区 | 欧美日韩亚洲在线观看 | 久草在线视频首页 | 亚洲综合最新在线 | 成年人免费在线观看网站 | 久久久久亚洲精品国产 | 国产不卡在线视频 | 在线黄av| 日日麻批40分钟视频免费观看 | 欧美日韩国产二区三区 | 中文字幕av专区 | 在线观看成年人 | 黄色毛片大全 | 国产成人在线免费观看 | 久久精品伊人 | 国产精品永久久久久久久www | 超碰在线天天 | 日韩一二三在线 | 色婷婷骚婷婷 | www.黄色在线| 国产免费观看久久黄 | 一级片免费观看 | 99久视频 | 狠狠干天天干 | 婷婷伊人五月 | 999久久精品| 久草色在线观看 | 97av在线| 国产亚洲欧洲 | 日韩一级片网址 | 在线亚洲日本 | 干干干操操操 | 天堂av色婷婷一区二区三区 | 中文字幕 在线看 | 国内精品久久久久久中文字幕 | 在线观看免费成人 | 久久一区国产 | 欧美成人黄色片 | 在线免费黄网站 | 最新三级在线 | 国产精品国产亚洲精品看不卡 | 中文字幕视频网站 | 久久精品国产精品亚洲精品 | 亚洲一区视频免费观看 | 97品白浆高清久久久久久 | 日本久久电影网 | 91网站免费观看 | 成年人毛片在线观看 | 国产精品免费一区二区三区 | 久久免费视频在线观看 | 九九精品毛片 | 亚洲高清精品在线 | 色综合色综合色综合 | 亚洲在线视频观看 | 美女亚洲精品 | 精品视频www | 在线亚洲日本 | 人人插人人草 | 亚州国产视频 | 天天操夜夜操天天射 | 在线看一级片 | 91视频在线看 | 欧洲视频一区 | 免费观看性生活大片 | 国产日本在线播放 | 成人99免费视频 | 免费高清在线观看电视网站 | 视频在线观看99 | 狠狠躁18三区二区一区ai明星 | 精品一区电影 | 97看片吧| 日韩视频免费观看高清完整版在线 | 91视频 - 114av | 国产91综合一区在线观看 | 国产黄免费在线观看 | 中文国产在线观看 | 久久久久高清 | 黄污在线观看 | 日本中文字幕电影在线免费观看 | 亚洲综合情 | 婷婷丁香七月 | 中文字幕不卡在线88 | 91免费观看国产 | 五月开心激情网 | 中文资源在线观看 | 欧美国产日韩激情 | 免费av看片 | 国产成人免费观看久久久 | 热久久在线视频 | 色综合久久88色综合天天 | 久久天天躁狠狠躁亚洲综合公司 | 99久久精品久久亚洲精品 | 国产高清在线不卡 | 午夜精品一区二区三区四区 | 手机在线日韩视频 | 精品久久久网 | 国产亚洲精品xxoo | 亚洲电影网站 | 国产精品美女久久久 | 日韩av高清在线观看 | 色资源网免费观看视频 | 粉嫩高清一区二区三区 | 国产精品福利久久久 | 婷婷在线视频 | 国产高清久久 | 五月婷婷在线观看 | av成人资源 | 三级黄色片在线观看 | 国产视频欧美视频 | 69中文字幕 | 亚洲另类视频在线观看 | 日韩试看| 天天射天天射天天 | 天天操天天干天天插 | 成人黄色在线看 | 成人在线观看日韩 | 久久精品www人人爽人人 | 亚洲欧美日韩国产一区二区三区 | 最新动作电影 | 最近中文字幕免费观看 | 精品视频 | 欧美一级性视频 | 成人h在线观看 | 国产亚州av| 国产在线观看91 | 97人人网| 日本不卡一区二区三区在线观看 | 亚洲高清资源 | 久草视频在线免费 | 视频在线日韩 | 欧美日韩高清在线一区 | 国产亚洲午夜高清国产拍精品 | 久久综合狠狠综合 | 一区二区三区福利 | 国产成人久久 | 日韩va在线观看 | 国产99视频在线观看 | 丁香六月中文字幕 | 97超碰在线免费 | 97国产一区 | 九色免费视频 | 国产黄在线观看 | 国产精品视频久久 | 精品国产黄色片 | 视频在线观看入口黄最新永久免费国产 | 成人免费网视频 | 超碰97av在线 | 中文字幕av一区二区三区四区 | 天天天天天天天操 | 97人人网 | 天天久久夜夜 | 国产精品24小时在线观看 | 91麻豆精品国产 | 亚洲毛片一区二区三区 | 狠狠躁夜夜a产精品视频 | 欧美日韩国产色综合一二三四 | 狠狠的干狠狠的操 | 日韩av在线免费播放 | 国模一二三区 | 最新国产精品久久精品 | 亚洲激情中文 | 最新av网址在线 | 久久无码av一区二区三区电影网 | 国产精品一区二区免费 | 精品婷婷| 日韩一区正在播放 | 日韩国产高清在线 | 国产伦理精品一区二区 | 亚洲久在线 | 亚洲成av人片在线观看香蕉 | 久久福利精品 | 二区视频在线观看 | 久草视频在线播放 | 超级碰99 | 97精品国产91久久久久久 | 国产黄色免费观看 | 久久69精品 | 中文字幕在线观看第二页 | 天天干夜夜爱 | 免费网址你懂的 | 丁香六月激情婷婷 | 四虎国产精品免费观看视频优播 | 狠狠的操你| 国产黄色精品 | 夜夜爽天天爽 | 开心激情五月网 | 久久九九免费视频 | 激情综合色播五月 | 五月婷婷综 | 久久久视频在线 | 国产无套精品久久久久久 | 97超级碰碰碰碰久久久久 | 五月网婷婷 | 91精品国产成人www | 久久久久久毛片精品免费不卡 | 日本中文字幕在线一区 | 99久久日韩精品视频免费在线观看 | 欧美日韩国产一区 | 亚洲精品字幕在线 | 69精品在线观看 | 国产精品一区二区av麻豆 | 一本色道久久综合亚洲二区三区 | 国产精品一区二区三区免费看 | 久久伊人爱 | 天天爽天天搞 | 欧美性生活久久 | 综合网欧美 | 大片网站久久 | 狠狠狠狠狠干 | 最新超碰| 亚洲精品国产精品国自产观看 | 国产在线播放一区二区 | 国产精品午夜8888 | 国产成年免费视频 | 久久精品国产成人 | 二区三区在线 | 狠狠操精品 | 欧美日韩视频一区二区 | 婷婷丁香色 | 亚洲五月综合 | 国产精品久久久久久久久久久久午夜片 | 91九色国产视频 | 五月婷视频 | 国产精品成人国产乱 | 欧美日韩国语 | 狠狠躁日日躁夜夜躁av | 在线视频 成人 | 欧美亚洲专区 | 色激情在线 | 天天操天天曰 | 国产中文字幕第一页 | 国产成人av在线 | av资源网在线播放 | wwxxx日本| 在线成人av | 波多野结衣电影久久 | 玖草在线观看 | 久久久国产精品视频 | av在线激情 | 天天做日日爱夜夜爽 | 在线午夜电影神马影院 | 9999亚洲 | 国产在线视频不卡 | 夜夜狠狠 | 久久久久国产精品免费免费搜索 | 亚洲天天综合 | 欧美 国产 视频 | a黄在线观看 | 日韩毛片在线一区二区毛片 | 亚洲天天在线 | 国产精品一区免费看8c0m | 国产精品久久一区二区三区, | 国产成人精品av在线 | 久久69av| 国产精品免费久久久久久 | 国产精品久久久久久久久久久久午 | 黄色视屏免费在线观看 | 日本午夜在线亚洲.国产 | 日韩网站中文字幕 | 999国内精品永久免费视频 | 国语自产偷拍精品视频偷 | 最新精品视频在线 | 手机在线观看国产精品 | 免费高清在线一区 | av电影在线不卡 | 手机av电影在线观看 | 欧美 日韩精品 | 久久草草热国产精品直播 | 久久精品毛片 | 亚洲视频,欧洲视频 | 国产午夜精品一区二区三区嫩草 | 国产精品高潮呻吟久久av无 | 少妇视频一区 | 欧美精品久久久久久久亚洲调教 | 久久99久久99精品中文字幕 | 亚洲黄色免费在线 | 久久精品中文字幕免费mv | 在线播放国产一区二区三区 | 黄色高清视频在线观看 | 欧美激情视频一区 | 成人av在线资源 | 国内精品毛片 | 91手机视频在线 | 久久99精品国产麻豆婷婷 | 免费在线色视频 | 天天操天天干天天干 | 国产午夜视频在线观看 | 国产精品理论片在线观看 | 日本不卡123区| 手机在线看永久av片免费 | 亚洲女人天堂成人av在线 | 99久久国产免费,99久久国产免费大片 | 午夜精品电影 | 日韩三级av | 在线免费观看黄色小说 | av在线播放网址 | japanesefreesexvideo高潮 | 亚洲另类视频 | 久久国精品 | av成人动漫 | 波多野结衣精品视频 | 黄网站免费大全入口 | 日本性视频 | 成年人看片网站 | 日韩在线二区 | 99久在线精品99re8热视频 | 99精品欧美一区二区三区 | 人人网av| 国产精品久久久久久久久久ktv | 亚洲欧洲精品一区 | 国产黄色精品在线 | 欧美一区二区三区激情视频 | 国产在线自 | 久久视频在线观看中文字幕 | 久久亚洲美女 | 色婷婷精品大在线视频 | mm1313亚洲精品国产 | 午夜久久久久久久久久影院 | 精品国产一区二区三区男人吃奶 | 久久久久久久福利 | 永久免费av在线播放 | 国外调教视频网站 | 成人黄色免费在线观看 | 永久av免费在线观看 | 亚洲在线视频网站 | 精品国产午夜 | 欧美性做爰猛烈叫床潮 | 国产123av | 一区二区三区电影在线播 | 97精品国产97久久久久久春色 | 99国产精品久久久久久久久久 | 日韩羞羞 | av亚洲产国偷v产偷v自拍小说 | 99久久er热在这里只有精品66 | 中文字幕电影高清在线观看 | 九九影视理伦片 | 香蕉精品视频在线观看 | 日韩色爱 | 精品国产一区二区三区免费 | 国产精品麻豆一区二区三区 | 999免费视频 | 国产精品视频一二三 | 国产麻豆果冻传媒在线观看 | 91网站免费观看 | 69av国产 | 青青河边草手机免费 | 天天射成人 | 夜色资源网 | 欧美一区二区三区激情视频 | 久久这里只有精品1 | 亚洲精品乱码久久久久久蜜桃91 | adc在线观看 | 久草色在线观看 | 亚洲午夜精品一区二区三区电影院 | 日韩资源在线观看 | 国产网站av | 99精品国产99久久久久久97 | 天天操夜夜操国产精品 | 在线观看一区二区视频 | 伊人天天干 | 国产一区二区三区午夜 | 免费男女羞羞的视频网站中文字幕 | 最近中文字幕在线播放 | 五月天天天操 | 99精品国产高清在线观看 | 亚洲一区二区精品视频 | 久久久www成人免费毛片 | 国产精品久久久久久爽爽爽 | 中文av网| 久久亚洲精品电影 | 亚洲资源在线 | 中文字幕色站 | 亚洲最新av在线网址 | av中文字幕在线免费观看 | 视频福利在线观看 | 欧美在线视频一区二区 | 免费国产在线视频 | 日本精品中文字幕 | 麻豆传媒视频观看 | 三级黄色a | 99精品视频免费观看视频 | 中文字幕高清视频 | 国产精品黄色影片导航在线观看 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 免费亚洲精品 | 久久精品999 | 成人免费在线电影 | 天天爱天天操天天干 | 亚洲欧美视频一区二区三区 | 日韩高清激情 | 国产精品精品 | 欧美 高跟鞋交 xxxxhd | 在线看福利av | 精品免费久久久久 | 欧美精品生活片 | 91av原创| 99精品视频中文字幕 | 亚洲成人动漫在线观看 | 日韩天天操 | 天天草天天爽 | 五月天高清欧美mv | 亚洲欧美精品在线 | 欧美日韩一级在线 | 女人高潮一级片 | 国产高清综合 | 青青河边草免费直播 | 欧美性生活免费看 | 狠狠色丁香婷婷综合视频 | 亚洲精品午夜一区人人爽 | 日韩三区在线 | 亚洲人成人天堂h久久 | 香蕉视频免费看 | 精品免费久久久久久 | 97香蕉超级碰碰久久免费软件 | 日韩在线观看你懂得 | 免费看高清毛片 | 色干干| 奇米网在线观看 | 最近免费中文字幕mv在线视频3 | 手机在线永久免费观看av片 | 国产免费xvideos视频入口 | 亚洲自拍偷拍色图 | 久久久99国产精品免费 | 国产69精品久久久久99尤 | 亚洲一区日韩 | av久久在线 | 免费看搞黄视频网站 | 99热精品国产 | 天天射天天射 | 天天曰天天射 | 999成人国产 | 久久婷婷开心 | 欧美一进一出抽搐大尺度视频 | 一二三区高清 | 超碰精品在线观看 | 欧美日韩伦理在线 | 欧美日韩在线视频免费 | 天天天天色射综合 | 射久久 | 久久国产精品系列 | 久久一线| 精品欧美小视频在线观看 | 中文国产成人精品久久一 | 特级黄录像视频 | 97香蕉久久国产在线观看 | 在线观看精品一区 | 久久久免费精品国产一区二区 | 中文字幕在线国产 | 国产精品久久久久久久av大片 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 欧美少妇的秘密 | 欧美日韩三级在线观看 | 久操中文字幕在线观看 | 成人污视频在线观看 | 亚洲v欧美v国产v在线观看 | 欧美色操| 国产在线91精品 | 国产精品一区在线观看 | 三级黄色片在线观看 | 久久99国产精品免费 | 欧美va在线观看 | 亚州av网站大全 | 伊人五月天综合 | 日本一区二区不卡高清 | 色噜噜日韩精品欧美一区二区 | 婷婷六月综合网 | 91精品1区2区 | 久久综合欧美精品亚洲一区 | 色婷婷激情电影 | 99久久精品国产一区 | 日韩大片在线免费观看 | 国产成人香蕉 | 国产精彩视频一区 | 99色网站| 日韩激情综合 | 欧美美女激情18p | 激情喷水 | 国产婷婷| 中文字幕免费一区二区 | 91久久精品一区二区三区 | 懂色av一区二区三区蜜臀 | 干干夜夜 | 欧美va在线观看 | 亚洲精品高清在线 | 欧美怡红院视频 | 日韩a在线播放 | 亚洲 av网站| 日韩夜夜爽 | 婷婷色av | 亚洲一级电影视频 | 久久精品资源 | 韩日精品中文字幕 | 一区二区高清在线 | 8x成人免费视频 | 国产精品美女久久久 | 欧美尹人 | 日韩久久午夜一级啪啪 | 在线观看黄网站 | 精品一区二三区 | 国产香蕉久久 | 最近中文字幕 | 人人干网| 国产视频在线观看一区二区 | 久久人人爽人人爽人人片av免费 | 国产一级久久久 | 五月婷婷在线观看视频 | 亚洲欧美成人综合 | 日韩中文字幕一区 | 天天天色综合a | 久久高清免费 | av在线一| 欧美91视频 | 久热精品国产 | 麻豆传媒一区二区 | 97国产超碰 | 亚洲天堂网视频在线观看 | 日韩欧美一区二区三区在线观看 | 午夜电影 电影 | 伊人久久在线观看 | 在线观看免费一级片 | 国语对白少妇爽91 | 国产香蕉视频 | 天天曰 | 欧美午夜久久久 | 麻豆精品视频在线 | 伊人五月天av | 色偷偷男人的天堂av | 在线观看完整版免费 | 激情黄色av| 久草在线观看视频免费 | 国产亚洲视频在线 | www久 | 五月婷婷中文网 | 亚洲国产激情 | 久久精品视频国产 | 在线观看日韩av | 国产精品久久久久久久久久ktv | 久久久久网站 | 国产成人精品在线 | 激情欧美丁香 | 蜜臀久久99精品久久久久久网站 | 天天做天天爱天天爽综合网 | 最近日本韩国中文字幕 | 日韩精品免费在线观看 | 日韩在线免费看 | 黄色三几片 | 国产成人专区 | 国产一区网 | 日本在线观看中文字幕 | 中文字幕激情 | 久久久国产影院 | 免费在线视频一区二区 | 麻豆视频免费在线观看 | 菠萝菠萝蜜在线播放 | 国内综合精品午夜久久资源 | 久久综合九色综合欧美狠狠 | 天天操天天能 | 91av视频免费在线观看 | 欧美日韩性 | 毛片.com | 国产在线欧美在线 | 九九九国产 | 在线视频一二区 | 99r精品视频在线观看 | 人人澡av | 色婷婷久久一区二区 | 色综合天天狠狠 | 黄色aa久久| 超碰国产人人 | 国产 日韩 欧美 中文 在线播放 | 91成人破解版 | 免费在线色电影 | 国产亚洲精品久久久久久 | 最近日本中文字幕a | 国产二区av | 最新日韩在线观看视频 | 黄色软件视频网站 | 久久精品国产精品 | 99久久久久久久 | 国产精品黄色在线观看 | 97久久精品午夜一区二区 | 99热国产在线观看 | 欧洲激情在线 | 久青草国产在线 | 欧美aa一级 | 黄色精品一区 | 欧美aⅴ在线观看 | 亚洲成av人片在线观看无 | 国产精品一区二区三区四区在线观看 | 欧美视频一区二 | 国产一区二区精品 | 免费高清在线观看电视网站 | 亚洲va在线va天堂va偷拍 | 国产精品大片免费观看 | 色综合久久88色综合天天免费 | 激情图片区 | 日本久久成人中文字幕电影 | 欧美综合国产 | 中文字幕在线日 | 国产视频一二区 | 手机成人av在线 | 五月天婷婷在线观看视频 | 91看片看淫黄大片 | 色婷婷激情 | 精品久久久久久国产偷窥 | 欧美日韩在线播放一区 | 中文字幕在线观看视频网站 | 欧美一级乱黄 | 丁香av | 婷婷丁香花 | 天天爽天天摸 | www看片网站 | 91亚洲狠狠婷婷综合久久久 | 草樱av | 美女视频永久黄网站免费观看国产 | 三级在线视频播放 | 欧美性成人 | 欧美日韩视频 | 在线观看韩日电影免费 | 精品久久久久一区二区国产 | 国产专区视频 | 97精品伊人 | 久久电影国产免费久久电影 | 精品久久久久久一区二区里番 | 中文字幕人成乱码在线观看 | 亚洲国产网站 | 五月天久久久久久 | 日韩欧美一区二区三区在线 | 国产精品久久久久国产精品日日 | 久久精品9 | 日韩黄色一级电影 | 色99导航 | 午夜电影av| 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产精品免费久久久久 | 国产高清在线永久 | 在线免费观看黄色 | 一区二区三区国产欧美 | 69xx视频 | 日本精品视频在线 | 99色精品视频| 亚洲一级二级 | 99精品在线直播 | 婷婷丁香久久五月婷婷 | 国产精品久久片 | 亚洲欧洲精品一区 | 在线播放精品一区二区三区 | 激情视频一区二区三区 | 亚州精品天堂中文字幕 | aaa免费毛片| 在线看小早川怜子av | 成人毛片一区二区三区 | 日本精品一区二区三区在线播放视频 | 精品99久久 | 久久久精品国产免费观看同学 | 久久久久久伊人 | 日韩电影在线观看一区二区三区 | 久久久久免费网 | 国产精品成人av电影 | 亚洲国产美女精品久久久久∴ | 中文字幕人成人 | 久久99爱视频 | 在线播放国产一区二区三区 | 国产一级黄色片免费看 | 国产成人三级三级三级97 | 久久激情日本aⅴ | 91丨九色丨国产女 | 在线观看黄色免费视频 | 国产精品成人久久久久久久 | 日韩一级电影网站 | 亚洲人在线7777777精品 | 国产亚洲va综合人人澡精品 | 日韩免费电影 | 中文乱码视频在线观看 | 中国一级片视频 | 美女免费视频一区二区 | 日韩在线视频不卡 | 草久久久久久 | 久久久鲁 | 操少妇视频 | 国产精品一区二区免费视频 | 在线观看亚洲免费视频 | 国产在线1区 | 婷婷深爱网 | 久久久久激情视频 | 亚洲国产精品99久久久久久久久 | 欧美一级片在线 | 最新中文字幕在线资源 | 在线观看视频免费播放 | 亚洲国内在线 | av黄在线播放 | 丁香五月亚洲综合在线 | 亚洲精品美女久久17c | 亚洲成人av在线 | 全久久久久久久久久久电影 | 免费一级特黄毛大片 | 久久99热这里只有精品国产 | 国产亚洲精品v | 天堂在线一区二区三区 | 欧美激情视频一二三区 | 久草久热 | 欧美一区二区三区不卡 | 国产黄 | 精品在线观看一区二区 | 婷婷午夜 | 亚洲最大av网 | 天天在线视频色 | 国产午夜一级毛片 | 亚洲精品xx | 探花视频免费观看高清视频 | 福利视频第一页 | 五月婷婷综合激情 | 日韩av看片 | 久草视频在线资源 | 中文字幕日韩精品有码视频 | 日韩aⅴ视频| 国产护士av| 久久在视频 | 天天操狠狠操网站 | 色婷婷狠狠五月综合天色拍 | 麻豆视频一区二区 | 天天操天天曰 | 亚洲成人av电影在线 | 国产精品久久久久久高潮 | 久久国产精品色av免费看 | 精品久久国产一区 | 日韩免费在线视频观看 |