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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Toast拓展--自定义显示时间和动画

發布時間:2024/1/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Toast拓展--自定义显示时间和动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Toast拓展–自定義顯示時間和動畫

我們在Android應用開發中經常會需要在界面上彈出一個對界面操作無影響的小提示框來提示用戶一些信息,這時候一般都會使用Android原生的Toast類

Toast.makeText(mContext, "消息內容", Toast.LENGTH_SHORT).show();

一開始覺得,挺好用的,就有點什么消息都用Toast顯示了。
但是用久了就發現,Toast的顯示和消失動畫不符合自己的要求,顯示時間也只有SHORT和LONG兩種選擇,好像不太夠用。


于是,在閱讀了Toast的源碼后對Toast進行了拓展,原生Toast包含了以下方法給用戶修改顯示內容:

setView(View):void setDuration(int):void setMargin(float,float):void setGravity(int,int,int):void setText(int):void setText(CharSequence):void

分別是直接替換視圖、設置顯示時長、設置邊距屬性、設置顯示位置、設置顯示文字內容。

基于原有的Toast上對其進行拓展,修改及增加以下兩個方法:

setDuration(int):void setAnimations(int):void

設置顯示時長方法拓展為可以自定義顯示時間,參數單位秒,提供三個默認值:LENGTH_SHORT,LENGTH_LONG,LENGTH_ALWAYS,分別對應原生Toast的LENGTH_SHORT,LENGTH_LONG,以及總是顯示。要注意的是總是顯示需要在合適的時候自己調用hide()方法隱藏,否則會影響其他窗口的正常顯示。

下圖是使用自定義動畫和自定義顯示時間的Toast示例


廢話不多說,先上工具類源碼跟example:

ExToast.java

import android.content.Context; import android.content.res.Resources; import android.os.Handler; import android.view.View; import android.view.WindowManager; import android.widget.Toast;import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;/*** Created by kj on 16-06-32.*/ public class ExToast {private static final String TAG = "ExToast";public static final int LENGTH_ALWAYS = 0;public static final int LENGTH_SHORT = 2;public static final int LENGTH_LONG = 4;private Toast toast;private Context mContext;private int mDuration = LENGTH_SHORT;private int animations = -1;private boolean isShow = false;private Object mTN;private Method show;private Method hide;private Handler handler = new Handler();public ExToast(Context context){this.mContext = context;if (toast == null) {toast = new Toast(mContext);}}private Runnable hideRunnable = new Runnable() {@Overridepublic void run() {hide();}};/*** Show the view for the specified duration.*/public void show(){if (isShow) return;initTN();try {show.invoke(mTN);} catch (InvocationTargetException | IllegalAccessException e) {e.printStackTrace();}isShow = true;//判斷duration,如果大于#LENGTH_ALWAYS 則設置消失時間if (mDuration > LENGTH_ALWAYS) {handler.postDelayed(hideRunnable, mDuration * 1000);}}/*** Close the view if it's showing, or don't show it if it isn't showing yet.* You do not normally have to call this. Normally view will disappear on its own* after the appropriate duration.*/public void hide(){if(!isShow) return;try {hide.invoke(mTN);} catch (InvocationTargetException | IllegalAccessException e) {e.printStackTrace();}isShow = false;}public void setView(View view) {toast.setView(view);}public View getView() {return toast.getView();}/*** Set how long to show the view for.* @see #LENGTH_SHORT* @see #LENGTH_LONG* @see #LENGTH_ALWAYS*/public void setDuration(int duration) {mDuration = duration;}public int getDuration() {return mDuration;}public void setMargin(float horizontalMargin, float verticalMargin) {toast.setMargin(horizontalMargin,verticalMargin);}public float getHorizontalMargin() {return toast.getHorizontalMargin();}public float getVerticalMargin() {return toast.getVerticalMargin();}public void setGravity(int gravity, int xOffset, int yOffset) {toast.setGravity(gravity,xOffset,yOffset);}public int getGravity() {return toast.getGravity();}public int getXOffset() {return toast.getXOffset();}public int getYOffset() {return toast.getYOffset();}public static ExToast makeText(Context context, CharSequence text, int duration) {Toast toast = Toast.makeText(context,text,Toast.LENGTH_SHORT);ExToast exToast = new ExToast(context);exToast.toast = toast;exToast.mDuration = duration;return exToast;}public static ExToast makeText(Context context, int resId, int duration)throws Resources.NotFoundException {return makeText(context, context.getResources().getText(resId), duration);}public void setText(int resId) {setText(mContext.getText(resId));}public void setText(CharSequence s) {toast.setText(s);}public int getAnimations() {return animations;}public void setAnimations(int animations) {this.animations = animations;}private void initTN() {try {Field tnField = toast.getClass().getDeclaredField("mTN");tnField.setAccessible(true);mTN = tnField.get(toast);show = mTN.getClass().getMethod("show");hide = mTN.getClass().getMethod("hide");/**設置動畫*/if (animations != -1) {Field tnParamsField = mTN.getClass().getDeclaredField("mParams");tnParamsField.setAccessible(true);WindowManager.LayoutParams params = (WindowManager.LayoutParams) tnParamsField.get(mTN);params.windowAnimations = animations;}/**調用tn.show()之前一定要先設置mNextView*/Field tnNextViewField = mTN.getClass().getDeclaredField("mNextView");tnNextViewField.setAccessible(true);tnNextViewField.set(mTN, toast.getView());} catch (Exception e) {e.printStackTrace();}}}

ExToast example

ExToast exToast = ExToast.makeText(context,"message",ExToast.LENGTH_ALWAYS); exToast.setAnimations(R.style.anim_view); exToast.show(); //使用LENGTH_ALWAYS注意在合適的時候調用hide() exToast.hide(); //顯示5秒的Toast ExToast exToast = ExToast.makeText(context,"message",5); exToast.show();

上面的代碼可以實現自定義xml窗口動畫,以及長時間顯示Toast的功能。
下面看一下R.style.anim_view的內容,窗口動畫可以通過@android:windowEnterAnimation和@android:windowExitAnimation定義窗口進場及退場效果

style.xml(放置在res/values/style.xml文件)

<style name="anim_view"><item name="@android:windowEnterAnimation">@anim/anim_in</item><item name="@android:windowExitAnimation">@anim/anim_out</item> </style>

anim_in.xml(放置在res/anim目錄下)

<set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0"android:fromYDelta="0"android:toXDelta="0"android:toYDelta="85"android:duration="1"/><translate android:fromXDelta="0"android:fromYDelta="0"android:toXDelta="0"android:toYDelta="-105"android:duration="350"android:fillAfter="true"android:interpolator="@android:anim/decelerate_interpolator"/><alpha android:fromAlpha="0"android:toAlpha="1"android:duration="100"/><translate android:fromXDelta="0"android:fromYDelta="0"android:toXDelta="0"android:toYDelta="20"android:duration="80"android:fillAfter="true"android:startOffset="350"/> </set>

anim_out.xml(放置在res/anim目錄下)

<set xmlns:android="http://schemas.android.com/apk/res/android"><alpha android:fromAlpha="1"android:toAlpha="0"android:duration="800"/> </set>

以上動畫是模仿小米Toast彈出動畫的示例,具體動畫可以根據個人喜好自定義。

拓展Toast的工具類及使用方式已經介紹完畢,下面的內容是對于該工具類的設計原理解析,不趕時間并且有興趣的同學可以繼續往下看。


ExToast原理解析

剛才講到,Toast的使用,有很多限制,其中包括系統原生的Toast是呈隊列顯示出來的,必須要等到前一條Toast消失才會顯示下一條。

相信很多同學都遇到過這個問題,比如我做一個按鈕,點擊的時候顯示一個toast,然后做了個小小的壓力測試:狂按保存按鈕!于是toast隊列排了好長一條,一直在顯示,等到一兩分鐘才結束。

通過閱讀Toast源碼,可以看到里面的Toast.show()和Toast.cancel()方法:

public void show() {if (mNextView == null) {throw new RuntimeException("setView must have been called");}INotificationManager service = getService();String pkg = mContext.getPackageName();TN tn = mTN;tn.mNextView = mNextView;try {service.enqueueToast(pkg, tn, mDuration);} catch (RemoteException e) {// Empty} }public void cancel() {mTN.hide();try {getService().cancelToast(mContext.getPackageName(), mTN);} catch (RemoteException e) {// Empty} }

可以看到Toast的核心顯示和隱藏是封裝在INotificationManager的enqueueToast方法中,看到enqueue這個詞就知道這是一個隊列處理的函數,它的參數分別是packageName,tn對象,持續時間。結合Toast的顯示效果我們可以猜測這個方法內部實現是隊列顯示和隱藏每一個傳入的Toast。packageName和持續時間我們都很清楚是什么,剩下的重點就在這個tn對象上了。那tn對象到底是什么?

繼續閱讀Toast源碼,可以知道Toast其實是系統虛浮窗的一種具體表現形式,它的核心在于它的一個私有靜態內部類class TN,它處理了Toast的顯示以及隱藏。所以,我們可以通過反射獲取這個TN對象,主動處理Toast的顯示和隱藏,而不經過系統Service

TN類源碼:

private static class TN extends ITransientNotification.Stub {final Runnable mShow = new Runnable() {@Overridepublic void run() {handleShow();}};final Runnable mHide = new Runnable() {@Overridepublic void run() {handleHide();// Don't do this in handleHide() because it is also invoked by handleShow()mNextView = null;}};...final Handler mHandler = new Handler();...View mView;View mNextView;WindowManager mWM;TN() {final WindowManager.LayoutParams params = mParams;params.height = WindowManager.LayoutParams.WRAP_CONTENT;params.width = WindowManager.LayoutParams.WRAP_CONTENT;params.format = PixelFormat.TRANSLUCENT;params.windowAnimations = com.android.internal.R.style.Animation_Toast;params.type = WindowManager.LayoutParams.TYPE_TOAST;params.setTitle("Toast");params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;}/*** schedule handleShow into the right thread*/@Overridepublic void show() {if (localLOGV) Log.v(TAG, "SHOW: " + this);mHandler.post(mShow);}/*** schedule handleHide into the right thread*/@Overridepublic void hide() {if (localLOGV) Log.v(TAG, "HIDE: " + this);mHandler.post(mHide);}public void handleShow() {...if (mView != mNextView) {// remove the old view if necessaryhandleHide();mView = mNextView;Context context = mView.getContext().getApplicationContext();if (context == null) {context = mView.getContext();}mWM = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);...if (mView.getParent() != null) {if (localLOGV) Log.v(TAG, "REMOVE! " + mView + " in " + this);mWM.removeView(mView);}...mWM.addView(mView, mParams);...}}private void trySendAccessibilityEvent() {...}public void handleHide() {...if (mView != null) {// note: checking parent() just to make sure the view has// been added... i have seen cases where we get here when// the view isn't yet added, so let's try not to crash.if (mView.getParent() != null) {...mWM.removeView(mView);}mView = null;}} }

好吧,上面的代碼太長不想看,那就把核心的代碼挑出來

public void show(){...WindowManager mWM = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);mWN.addView(mView, mParams); }public void hide(){...WindowManager mWM = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);mWN.removeView(mView); }

核心代碼可以明顯看出,Toast的機制就是往WindowManager添加以及移除view,那只要獲得TN對象,重新封裝一次show()和hide()方法就可以實現自定義顯示時間。

private void initTN() {try {Field tnField = toast.getClass().getDeclaredField("mTN");tnField.setAccessible(true);mTN = (ITransientNotification) tnField.get(toast);/**調用tn.show()之前一定要先設置mNextView*/Field tnNextViewField = mTN.getClass().getDeclaredField("mNextView");tnNextViewField.setAccessible(true);tnNextViewField.set(mTN, toast.getView());} catch (Exception e) {e.printStackTrace();} }public show(){initTN();mTN.show(); }

代碼中mTN就是從Toast中利用反射獲取的對象,類型是ITransientNotification,這是從android源碼中拿出來的aidl接口,匹配TN的類型。主動調用mTN.show()方法后就會神奇的發現,Toast長時間存在屏幕中,即使離開了app它依然存在,直到調用mTN.hide()后才消失。


Toast顯示時間拓展的問題已經解決了,剩下一個自定義動畫的問題。現在回過頭再看TN類的初始化方法代碼,里面初始化了一個WindowManager.LayoutParams對象,做過懸浮窗功能的同學應該都接觸過它,下面這一句代碼就是定義窗口動畫的關鍵,如果能修改params.windowAnimations就能夠修改窗口動畫。

params.windowAnimations = com.android.internal.R.style.Animation_Toast;

很不幸的是,params并不是一個公有的屬性,那就暴力點繼續用反射獲取并且修改窗口動畫

private void initTN() {try {Field tnField = toast.getClass().getDeclaredField("mTN");tnField.setAccessible(true);mTN = (ITransientNotification) tnField.get(toast);/**調用tn.show()之前一定要先設置mNextView*/Field tnNextViewField = mTN.getClass().getDeclaredField("mNextView");tnNextViewField.setAccessible(true);tnNextViewField.set(mTN, toast.getView());/**獲取params后重新定義窗口動畫*/Field tnParamsField = mTN.getClass().getDeclaredField("mParams");tnParamsField.setAccessible(true);WindowManager.LayoutParams params = (WindowManager.LayoutParams) tnParamsField.get(mTN);params.windowAnimations = R.style.anim_view;} catch (Exception e) {e.printStackTrace();} }

至此,ExToast的工作原理已經基本解釋完畢。對于本篇反復講到的利用Java反射獲取類里面的私有屬性以及方法,是一個很實用的技能,本篇不詳細解釋Java反射知識,如果不熟悉的同學可以自行查找Java反射相關資料了解。了解完后應該會對ExToast工具類的設計原理很清楚。

對于Toast的更多應用,請期待下一篇文章。轉載請注明出處,謝謝!

總結

以上是生活随笔為你收集整理的Toast拓展--自定义显示时间和动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

97电影在线看视频 | 欧美综合在线视频 | 91免费高清在线观看 | 国产精久久 | 中文字幕一区2区3区 | 久久国产一区二区三区 | 在线播放国产一区二区三区 | 免费中午字幕无吗 | 狠狠88综合久久久久综合网 | 97色狠狠 | 久久精品伊人 | 免费色网| 最近日本中文字幕 | 欧洲激情综合 | 97国产精品免费 | 日本特黄特色aaa大片免费 | 97精品免费视频 | 综合激情av | 欧美一二三区在线观看 | 九九视频精品免费 | 国产黄色免费看 | 91成人破解版 | 久久精品视频观看 | 欧美 亚洲 另类 激情 另类 | 五月天伊人 | 亚洲精品在线免费播放 | 黄色毛片大全 | 婷婷亚洲综合五月天小说 | 亚洲一区视频免费观看 | 五月婷婷久| 在线播放精品一区二区三区 | 国产精品中文久久久久久久 | 婷婷六月天在线 | 狠狠操狠狠插 | 成人蜜桃视频 | www日日| 丁香九月婷婷 | 一级免费黄视频 | 91色影院| 国产黄色理论片 | 中文字幕中文字幕 | 精品一区二区在线观看 | 国产精品久久久久av免费 | 日韩三级在线观看 | 国产麻豆精品久久一二三 | 欧美一区二区三区激情视频 | 久久精品屋| 精品在线观看一区二区 | 久久99视频免费观看 | 久久国产精品免费视频 | 激情欧美xxxx| 波多野结衣网址 | 国产永久免费观看 | 99精品视频免费看 | 国产在线不卡视频 | 日日综合 | 99热这里只有精品在线观看 | 国产精品一区在线观看 | 蜜臀av夜夜澡人人爽人人 | 国产免费黄色 | av中文字幕剧情 | 国产亚洲久一区二区 | 国产精品1区2区3区在线观看 | 中文字幕国语官网在线视频 | 国产一区欧美在线 | 国产精品高清免费在线观看 | 国产精品剧情在线亚洲 | 91女神的呻吟细腰翘臀美女 | av成人在线看 | 国产在线a不卡 | 久草国产视频 | 超碰免费在线公开 | 亚洲最新在线视频 | 在线观看日本高清mv视频 | 国产精品igao视频网网址 | 91九色性视频 | 亚洲成人精品影院 | 97免费中文视频在线观看 | 日韩av免费一区 | 久久a v视频 | 在线免费av网站 | 欧美激情视频一区二区三区 | 久久精品国产成人 | av免费在线播放 | 免费观看完整版无人区 | 91自拍成人 | 欧美久久久影院 | 欧美亚洲精品在线观看 | 在线观看免费av网站 | 九九九视频精品 | 国产黄影院色大全免费 | 久久精品亚洲一区二区三区观看模式 | 在线 视频 亚洲 | 国模一区二区三区四区 | 91亚洲夫妻 | 色综合五月 | 成人av免费播放 | 色多视频在线观看 | 精品一区二区av | 亚洲综合在线发布 | 成人a视频片观看免费 | 亚洲国产成人在线观看 | 国产护士hd高朝护士1 | 一级成人免费视频 | 日韩欧美在线一区二区 | 黄色在线网站噜噜噜 | 久久专区| 午夜国产一区二区三区四区 | 国产一区精品在线观看 | 久草av在线播放 | 成年人在线免费视频观看 | 亚洲欧洲视频 | 国产又粗又猛又黄 | 婷婷激情综合五月天 | 91视频免费网址 | 亚洲黄色大片 | 亚洲综合在线五月 | 国产免费不卡av | 亚洲黄色激情小说 | 高清精品在线 | 欧美男同视频网站 | 在线免费国产 | av电影 一区二区 | 黄色美女免费网站 | 欧美精品黑人性xxxx | 激情婷婷在线观看 | 在线观看黄色 | 婷婷网址| 国产精品美女免费看 | 亚洲欧美成人综合 | 狠狠狠狠狠狠天天爱 | av在线一二三区 | 91av蜜桃| 亚洲欧美日韩国产一区二区 | 成人a级大片 | 日韩精品一区二区三区在线视频 | 日韩在线观看视频中文字幕 | 亚洲欧洲在线视频 | 国产在线观看黄 | 精品人人人 | 国产精品24小时在线观看 | 国产韩国精品一区二区三区 | 亚洲激精日韩激精欧美精品 | 精品国产一区二区三区久久久蜜月 | 亚洲理论电影网 | 13日本xxxxxⅹxxx20 | 日本黄色免费播放 | 午夜在线观看一区 | 天天爽夜夜操 | 亚洲国内在线 | 六月丁香激情综合色啪小说 | 免费的国产精品 | 国产69久久精品成人看 | 免费精品在线 | 91最新在线视频 | 日韩欧美高清一区二区三区 | 91av视频在线免费观看 | 久久久穴 | 国产91成人 | 91免费在线视频 | 亚洲精品在线视频观看 | 欧美日韩国产一区二区三区在线观看 | av在线电影网站 | 色综合小说| 国产精品成人自产拍在线观看 | 亚洲精品国产品国语在线 | av在线专区 | 亚洲视频专区在线 | 精品国内自产拍在线观看视频 | 中文字幕在线观看完整版电影 | 久久久久女人精品毛片九一 | 97操碰 | 精品视频在线看 | 在线免费观看羞羞视频 | 国产色啪| 日本性久久 | 国产一区自拍视频 | 夜夜嗨av色一区二区不卡 | 日韩中文字幕在线观看 | 午夜婷婷综合 | 麻豆av电影 | 久久九九九九 | 精品久久视频 | 色在线最新 | 综合精品久久久 | 久久午夜羞羞影院 | 中文区中文字幕免费看 | 婷婷日韩| 久久久久久久久久毛片 | 在线中文字幕网站 | 久久不射电影院 | 在线免费观看欧美日韩 | 国产伦理久久精品久久久久_ | 69成人在线 | 国产高清不卡在线 | 91pony九色丨交换 | 久久影院亚洲 | 五月天综合网 | 亚洲欧洲精品一区二区精品久久久 | 久久躁日日躁aaaaxxxx | av在线永久免费观看 | 最近高清中文在线字幕在线观看 | 久久国产精品区 | 久久国精品 | 日日躁夜夜躁aaaaxxxx | 久久人人爽人人片av | 97在线免费视频观看 | www.xxxx变态.com| 91av视频在线免费观看 | 91精品入口 | 91av视屏| 一区二区三区久久精品 | 热久久免费国产视频 | 国产午夜精品一区二区三区欧美 | 最近中文字幕在线 | 97精品久久人人爽人人爽 | 中文字幕av有码 | 欧美在线一二区 | 人人插超碰| av理论电影 | 国产精品久久久久久久免费大片 | 国产成人av一区二区三区在线观看 | 成在线播放| 精品国产1区2区 | 欧美一区,二区 | 国产精品一区二区三区四区在线观看 | 91在线一区二区 | 国产精品第一视频 | 96亚洲精品久久久蜜桃 | 日韩理论电影在线 | 国产精品入口久久 | 日韩在线视频观看 | 在线亚洲观看 | 日本一区二区三区免费看 | 四虎天堂 | 91精品国产自产在线观看 | 色综合色综合色综合 | 亚洲一区尤物 | 亚洲区另类春色综合小说 | 久草精品视频 | 欧洲精品一区二区 | 天堂麻豆 | 国产最顶级的黄色片在线免费观看 | 丝袜美腿在线视频 | 国产精品中文 | 成人在线观看av | 99国产成+人+综合+亚洲 欧美 | 操操操av | 久久久久免费电影 | 色婷婷国产| 综合激情网... | 久久久久久免费 | 91热视频在线观看 | 国产一级电影在线 | 夜夜高潮夜夜爽国产伦精品 | 久久久午夜影院 | 精品在线亚洲视频 | 国产精品免费一区二区三区在线观看 | av在线电影播放 | 久久久久久国产精品久久 | 国产一区二区三区免费在线观看 | 国产丝袜高跟 | 久久精品永久免费 | 免费观看91视频 | 精品久久久久免费极品大片 | 国产一级视屏 | 午夜10000 | 友田真希av | 久久97久久 | 欧美二区三区91 | 成人一区在线观看 | www国产精品com | 久99久久 | 午夜三级在线 | 中文字幕一区二区三区精华液 | 色网站在线看 | 免费观看www小视频的软件 | 天天干,天天操,天天射 | 精品在线观看一区二区 | 97精品国产97久久久久久粉红 | 日韩.com | 黄网站色| 国产日韩欧美在线免费观看 | 中文字幕2021| 最近日本mv字幕免费观看 | 在线观看亚洲国产精品 | 久久电影国产免费久久电影 | 99久热在线精品视频成人一区 | 9999在线视频 | 亚洲精品在线视频网站 | 91亚洲精品在线观看 | 中文字幕韩在线第一页 | 天堂黄色片 | 九草视频在线观看 | 亚洲黄色在线观看 | 亚洲国产精品成人女人久久 | 九九热在线播放 | 日韩成人在线一区二区 | 日韩激情在线 | 91成人网在线播放 | 97在线视频免费 | 欧美日韩99 | 欧洲不卡av | 日韩精品一区二区三区免费视频观看 | 婷婷丁香花 | 国产日韩在线看 | 热久久视久久精品18亚洲精品 | 夜又临在线观看 | 五月天天在线 | 国产精品毛片久久 | 九九九在线观看 | 一区二区三高清 | 天堂资源在线观看视频 | 国产三级视频 | 国产亚洲婷婷免费 | 欧美激情xxxx性bbbb | av观看在线观看 | 成人全视频免费观看在线看 | 国产精品九九久久99视频 | 91精品婷婷国产综合久久蝌蚪 | 51久久夜色精品国产麻豆 | 午夜久久影院 | 久久国产一区二区三区 | 免费观看一区二区 | 狠狠色噜噜狠狠狠狠2022 | 欧美成人xxx | 黄色国产精品 | 久久久久网址 | 久草免费在线视频观看 | 天天插天天爽 | 香蕉在线观看 | 亚洲精品国产成人 | 免费黄色网址大全 | 久久久久久久久久福利 | 日韩精品中文字幕在线观看 | 国产一区二区视频在线 | 日韩福利在线观看 | 色偷偷97 | 激情五月开心 | 日韩久久午夜一级啪啪 | 国产一线二线三线在线观看 | 在线观看久| 国产日女人 | 亚洲日本一区二区在线 | 欧美91成人网 | 很黄很污的视频网站 | 久草视频中文 | 在线99视频 | 国产精品一区二区三区免费看 | 三级av黄色 | 13日本xxxxxⅹxxx20 | 免费人做人爱www的视 | 欧美 亚洲 另类 激情 另类 | 免费视频99 | 在线观看中文字幕2021 | 777视频在线观看 | 91视频免费观看 | 国产黄色大全 | 国产黄色大片免费看 | 亚洲精品999 | 精品国产伦一区二区三区观看说明 | 爱av在线网 | 久久精品日产第一区二区三区乱码 | 成年人毛片在线观看 | 色就色,综合激情 | 国产精品久久久av久久久 | 国产精品 欧美 日韩 | 国产99色 | 91av蜜桃| 久久69精品久久久久久久电影好 | 五月婷婷在线播放 | 中文字幕在线看视频国产中文版 | 99热在线精品观看 | 午夜精品婷婷 | 国产99久久久精品视频 | 国产在线欧美日韩 | 午夜久久福利视频 | 亚洲精品午夜一区人人爽 | 午夜国产影院 | 久久人人97超碰com | 亚洲资源在线观看 | 久久理论片 | 免费欧美高清视频 | 在线日本看片免费人成视久网 | 久久免费美女视频 | 亚洲国产日韩精品 | 国产精品门事件 | 久草在线免费播放 | 免费视频一二三区 | 国产精品欧美久久 | 欧美一二区在线 | 91香蕉久久 | 色播六月天 | 久久国产精品久久精品国产演员表 | 正在播放一区二区 | 最近中文字幕在线中文高清版 | 亚洲成色| 手机在线免费av | 久久久久国产精品厨房 | 日韩av视屏在线观看 | 国产精品成人av电影 | 日韩高清dvd| 97精品国产97久久久久久免费 | 国产麻豆剧果冻传媒视频播放量 | 在线播放 亚洲 | 国产区在线看 | 91久久久久久久 | 青青草在久久免费久久免费 | 极品美女被弄高潮视频网站 | 成人免费在线电影 | 全黄色一级片 | 美女视频黄色免费 | www.久久久.cum | 91福利影院在线观看 | 国产精品欧美久久久久无广告 | 狠狠色丁香婷婷综合久小说久 | 一区二区三区在线电影 | 99这里只有精品99 | 免费麻豆 | 日韩成人精品一区二区三区 | 免费av大全 | 亚洲第一中文字幕 | 日韩黄色av网站 | 亚洲第一香蕉视频 | 午夜美女福利 | 成人国产亚洲 | 国产999精品久久久久久绿帽 | 成人黄色资源 | 中文字幕精品三级久久久 | 色网站中文字幕 | 久久久久久久久久久久影院 | 又污又黄网站 | 男女男视频 | 国产成人免费高清 | a视频在线观看 | 精品免费视频 | 91人人射| 国产在线看 | 国产精品成久久久久三级 | 国产视频在线观看一区二区 | 久久艹艹 | 久久亚洲热 | 亚洲狠狠丁香婷婷综合久久久 | 天天视频色 | 久久99操| 久久香蕉电影网 | 精品产品国产在线不卡 | 婷婷99| 国产精品国产三级国产aⅴ无密码 | 欧美美女视频在线观看 | 夜夜躁天天躁很躁波 | 97成人精品区在线播放 | 国产精品久久久久四虎 | 国产精品三级视频 | 天天舔天天搞 | 在线观看亚洲国产精品 | 午夜91在线 | 九九九电影免费看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 97精品国产97久久久久久免费 | 亚洲黄色激情小说 | 天天插日日插 | 四虎影视av | 午夜精品一区二区三区在线 | 国产亚洲精品久久网站 | 九九热视频在线播放 | 91精品久久久久久久久久入口 | 免费观看日韩 | 最近字幕在线观看第一季 | 国产免费xvideos视频入口 | 国产精品99爱 | 久久婷婷精品 | 国产精品久久亚洲 | 中文字幕一区在线观看视频 | 日韩在线观看电影 | 日韩精品视频免费在线观看 | 18国产精品白浆在线观看免费 | 久久天天操 | 国产拍揄自揄精品视频麻豆 | 日韩欧美大片免费观看 | 久久成人在线视频 | 五月婷在线观看 | 韩国av在线播放 | 最近久乱中文字幕 | 公与妇乱理三级xxx 在线观看视频在线观看 | 天天插狠狠干 | 国产在线无 | 毛片无卡免费无播放器 | 天天爽夜夜操 | 亚洲精品成人 | 亚洲另类视频在线 | 五月婷婷操| 午夜视频在线网站 | 国产视频网站在线观看 | 久久久久久毛片 | 少妇性bbb搡bbb爽爽爽欧美 | 国产在线精品一区二区 | 激情久久综合网 | 日本丰满少妇免费一区 | 亚州国产视频 | www国产亚洲精品久久网站 | 久久香蕉电影网 | 久久系列 | 深爱激情综合网 | 国产黄色成人av | 人人看人人草 | 五月网婷婷 | 国产精品亚洲人在线观看 | 人人超碰人人 | 色多多在线观看 | 96久久欧美麻豆网站 | 丁香 久久 综合 | 日韩欧美一区二区在线 | 久久精品视 | 国产一区自拍视频 | 国产美女视频免费观看的网站 | 国产女人40精品一区毛片视频 | 国产xxxx做受性欧美88 | 91精品国产麻豆国产自产影视 | 亚洲视频久久久 | 亚洲国产日韩精品 | 久久久久成人精品免费播放动漫 | 久久大片 | 在线涩涩| 一区二区三区免费在线播放 | 国产96在线观看 | 在线电影 一区 | 黄色成年 | 亚洲小视频在线观看 | 国产精品11 | 欧美日韩国产一区二区三区在线观看 | 麻豆91精品91久久久 | 一区二区三区久久精品 | 黄网站www | 久久激情久久 | 国产一级高清视频 | 国产精品黄色 | 开心综合网 | 久热av | 国产精品久久久久久久久费观看 | 波多野结依在线观看 | 免费三级影片 | 亚洲一级免费电影 | 天天舔夜夜操 | 在线视频 精品 | 午夜视频在线瓜伦 | 亚洲精品美女在线观看 | 99久免费精品视频在线观看 | 69视频永久免费观看 | avlulu久久精品| www.精选视频.com | 欧美性黑人 | 久久精品中文字幕一区二区三区 | 国偷自产中文字幕亚洲手机在线 | 69成人在线 | 亚洲三级国产 | 国产精品视频app | 在线观看亚洲精品视频 | 日本特黄一级 | 探花视频在线观看免费版 | 国产高清视频在线观看 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产精品区免费视频 | 一本一道波多野毛片中文在线 | 精品国产片 | 国产精品久久久久久超碰 | 国产专区在线 | 久久不卡免费视频 | 九七人人干 | 中文字幕av一区二区三区四区 | 午夜视频一区二区三区 | 久久免费的视频 | 天天色图| 久久久久久久久久久影院 | 在线看国产视频 | 日韩色视频在线观看 | 国产网红在线观看 | 黄色av一区 | 97色在线观看 | 日韩欧美xxxx| 一区二区三区免费在线播放 | 欧美另类sm图片 | 久久天天躁狠狠躁夜夜不卡公司 | 久久亚洲私人国产精品 | 天天干,天天射,天天操,天天摸 | 美女免费视频网站 | 欧美一区二区三区不卡 | 91久久精品日日躁夜夜躁国产 | 久久丁香| 五月婷婷激情六月 | 日韩精品一区在线观看 | 国产91在线观看 | 亚洲国产精品久久久久 | 色 中文字幕 | 国产精品久久久久久久久久久杏吧 | 日韩电影中文,亚洲精品乱码 | 国产 视频 高清 免费 | av免费片 | 99视频导航 | 男女啪啪网站 | 911精品美国片911久久久 | 欧美一级久久久 | 国内精品国产三级国产aⅴ久 | 日韩久久影院 | 国产日韩欧美自拍 | 亚洲成人av电影在线 | 国产精品观看视频 | 国产精品人人做人人爽人人添 | 国产黄色在线观看 | 99婷婷狠狠成为人免费视频 | 国产精品一区二区在线播放 | 在线99视频 | 国产在线第三页 | 一性一交视频 | 激情五月视频 | 91豆花在线观看 | 91大神精品视频 | 麻豆免费看片 | 又黄又爽又色无遮挡免费 | 超碰在97 | 99电影| 日韩激情视频在线 | 黄色软件在线观看视频 | 超碰97免费 | 亚洲黄色免费 | 日韩女同av | 久久精品视频网址 | 国产精品高 | 国产精品影音先锋 | 久久草av| 日韩毛片一区 | 综合精品在线 | 国产999在线 | 国产精品久久久久婷婷二区次 | 欧美成亚洲| 国产无套一区二区三区久久 | 色在线免费观看 | 粉嫩av一区二区三区免费 | 天天干天天天 | 深夜国产福利 | 丝袜网站在线观看 | 成人理论在线观看 | 日韩专区在线 | 亚洲欧美在线观看视频 | 国产99久久久国产精品成人免费 | 国产精品白浆视频 | 国产在线精品国自产拍影院 | 久久国产片 | 中午字幕在线观看 | 亚洲欧美日本一区二区三区 | 激情五月伊人 | 国产麻豆视频在线观看 | 黄色片网站av | 国产一区在线观看视频 | 亚洲日韩欧美视频 | 久久久久成人精品免费播放动漫 | 黄色一级免费 | av免费看看| 国产精品区免费视频 | 一区二区三区免费在线观看视频 | 日韩精品一区在线播放 | 一区二区三区免费在线播放 | 91视频麻豆视频 | 亚洲欧洲精品在线 | 99re国产视频 | 国产一区在线免费观看 | 日韩视频一区二区三区在线播放免费观看 | 天天操综合网站 | av中文字幕电影 | 日韩在线观看精品 | 91精品免费在线 | www激情com | 国产亚洲欧美在线视频 | 色偷偷88欧美精品久久久 | 三级黄色在线观看 | 成人在线观看免费 | www.夜夜夜| 色综合中文综合网 | 69视频在线播放 | 视色网站| 97成人精品视频在线播放 | 欧美孕妇与黑人孕交 | 亚洲视频在线播放 | 亚洲精品视频免费在线观看 | 伊人婷婷 | 日韩视频免费看 | 在线免费观看亚洲视频 | 97激情影院| 日韩在线观看一区二区 | 国产精品 日韩 | 黄色毛片网站在线观看 | 射久久久 | 99r精品视频在线观看 | 九九视频免费观看视频精品 | 国产日韩欧美在线免费观看 | 亚洲精品免费在线观看视频 | 免费福利片2019潦草影视午夜 | www天天干com | 999久久久 | 国内精品久久久 | 国产不卡在线视频 | 日韩激情三级 | 国产精品18久久久久久久网站 | 欧美 激情 国产 91 在线 | 免费视频成人 | 美女久久久久久久久久 | 成人免费观看网址 | 亚洲精品一区二区在线观看 | 国产午夜精品一区二区三区嫩草 | 欧美午夜剧场 | 成人高清av在线 | 亚洲九九 | 国产亚洲一区二区三区 | 亚洲国产成人久久 | 在线观看国产高清视频 | 六月丁香激情网 | 韩国视频一区二区三区 | 六月天色婷婷 | 欧美小视频在线观看 | 成人久久久久久久久久 | 中文字幕国产一区二区 | 欧美一区日韩精品 | 久久99精品一区二区三区三区 | 亚洲国产成人精品在线观看 | 91中文视频 | av在线影片 | 国产午夜精品视频 | 久久理论片 | 国产小视频91 | 久久久精品一区二区三区 | 久久久高清一区二区三区 | 欧美性极品xxxx做受 | 国产成人在线综合 | 狠狠干天天射 | 午夜视频在线观看网站 | 91久久国产综合精品女同国语 | 粉嫩av一区二区三区四区在线观看 | 人人搞人人干 | 综合色站导航 | 69av在线播放 | 婷婷五天天在线视频 | 久久综合色播五月 | 99热手机在线 | 久久精品日产第一区二区三区乱码 | 国产午夜亚洲精品 | 亚洲国产精品99久久久久久久久 | 亚洲 欧洲 国产 日本 综合 | 黄色av一区二区 | 午夜视频色 | 天天射天天操天天 | 国产精品麻豆免费版 | h视频在线看 | av免费看电影 | 麻豆精品在线视频 | 一区二区精品国产 | 国产在线播放观看 | 亚州国产精品视频 | 亚洲欧美国产精品18p | 亚洲男男gaygay无套同网址 | 四虎天堂 | 日本精品视频一区二区 | 午夜精品久久久久久久99水蜜桃 | 日韩av专区| 五月天色中色 | 最新av观看 | www国产亚洲精品久久麻豆 | 中文字幕一区二区三区乱码不卡 | 久久成人亚洲欧美电影 | 日韩在线视频看看 | 天天综合成人网 | 色a资源在线 | 亚洲国产精品第一区二区 | 精品自拍网 | 最近字幕在线观看第一季 | 久久黄色精品视频 | 久久免费毛片 | 久久久久在线观看 | 久久视频这里有久久精品视频11 | 亚洲另类在线视频 | 视频在线观看一区 | 国产九九精品视频 | 成人av电影在线观看 | 久久综合九九 | 国产 视频 高清 免费 | 2023亚洲精品国偷拍自产在线 | 六月婷色 | 插婷婷| 五月婷婷久久丁香 | 午夜三级影院 | 色在线视频 | 啪啪免费试看 | av中文字幕电影 | 中文字幕婷婷 | 国产精品免费一区二区 | 国产视频一区二区在线观看 | 美国人与动物xxxx | 亚洲精品久久视频 | 亚洲影视九九影院在线观看 | 美女视频网 | 日日夜夜噜 | 91精品在线免费视频 | 黄色av一区二区三区 | 色在线高清 | 亚洲欧美日韩一区二区三区在线观看 | 在线黄色av | 丁香电影小说免费视频观看 | 亚洲国产黄色片 | 成人毛片一区 | 狠狠做深爱婷婷综合一区 | 黄色在线观看网站 | 深爱开心激情网 | 美女黄频视频大全 | 青青河边草免费直播 | 久久国产精品电影 | 在线免费观看的av网站 | 伊人热 | 久久久久久久久久久电影 | 天堂在线视频免费观看 | 久久一本综合 | 99久e精品热线免费 99国产精品久久久久久久久久 | 天天干夜夜 | 国产黄在线播放 | 国产精品综合在线观看 | 亚洲成av人片在线观看无 | 国产精品一区二区免费视频 | 91av电影在线观看 | 99成人在线视频 | 国产丝袜美腿在线 | 9ⅰ精品久久久久久久久中文字幕 | 国内丰满少妇猛烈精品播放 | 天天干天天操天天拍 | 国产精品日韩精品 | 欧美一级性生活视频 | 国产99久久久精品 | 日韩电影在线一区 | 久久99久久99精品中文字幕 | 婷婷久月 | 国产日韩欧美在线免费观看 | 丁香5月婷婷久久 | 香蕉网站在线观看 | 久久免费视频99 | 精品欧美一区二区精品久久 | 久草在线视频中文 | 免费看黄在线观看 | 欧美日韩国产一二三区 | 免费色av| 国产精品 美女 | 国产精品第7页 | 国产不卡在线看 | 成人网在线免费视频 | 996久久国产精品线观看 | 国产糖心vlog在线观看 | 成人作爱视频 | 亚洲精品午夜国产va久久成人 | 在线 精品 国产 | 欧美久久久久久久 | 成年人app网址 | 久久爱影视i | 中文字幕在线网址 | 中文字幕在线国产 | 国产区在线视频 | 91香蕉视频污在线 | 久久久久网站 | 麻豆一精品传二传媒短视频 | 999视频在线播放 | 91麻豆精品一区二区三区 | 亚洲黄色免费观看 | 亚洲欧洲成人 | 久久观看最新视频 | 一区二区中文字幕在线观看 | 人人添人人澡 | 激情丁香综合五月 | 婷婷激情久久 | 麻豆91精品视频 | 国产日韩欧美在线看 | 少妇bbb好爽 | 亚州日韩中文字幕 | 黄色天堂在线观看 | 97国产大学生情侣酒店的特点 | 91av在线视频播放 | 久影院 | 亚洲aⅴ免费在线观看 | 日韩黄色大片在线观看 | 国产精品久久久毛片 | 婷婷色网| 中文字幕在线观看第三页 | 亚洲国产精品女人久久久 | 婷婷网址| 午夜精品福利影院 | 色干综合 | 亚洲国产中文字幕在线 | 久草久热 | 国产精品一区二区中文字幕 | 欧美一区二区在线免费观看 | 91久久精品一区二区二区 | 亚洲欧洲国产视频 | 91视频啪 | 手机在线看a | 日韩欧美一区二区三区在线 | 欧美二区三区91 | 国产精品短视频 | 国产精品高潮呻吟久久久久 | 精品久久久亚洲 | 国产福利91精品一区二区三区 | 精品国产区 | 国产精品一区二区三区观看 | 一级淫片在线观看 | 色在线免费观看 | 国产日韩视频在线观看 | 97超碰超碰| 麻豆国产精品一区二区三区 | a视频在线观看免费 | 国产精品区在线观看 | 成人免费视频网站在线观看 | 免费网站黄色 | 国产精品第7页 | 亚洲精品成人 | 日韩免费高清在线观看 | 久久亚洲综合色 | 最近高清中文字幕 | 一区二区三区四区在线免费观看 | 免费网站黄| 91九色视频| 麻豆久久 | 国产综合香蕉五月婷在线 | 成人黄色大片在线观看 | 国产午夜麻豆影院在线观看 | 高清国产午夜精品久久久久久 | 中文字幕在线播放一区 | 日韩啪视频 | 色综合天天天天做夜夜夜夜做 | 国产剧在线观看片 | 91看片麻豆| 国产99久久久久久免费看 | 国语黄色片 | 亚洲天堂网视频 | 成人免费观看电影 | 久久综合中文字幕 | 欧美天天综合 | 久久精品毛片 | 欧美日韩在线观看一区 | 久草在线 | 中文字幕在线日本 | 人人干网站 | www中文在线 | 少妇性aaaaaaaaa视频 | 69国产成人综合久久精品欧美 | 高清久久久 | 日韩极品视频在线观看 | 欧美午夜一区二区福利视频 | 中文字幕在线观看视频一区 | www免费看| 欧美亚洲一区二区在线 | 久久网站av | 98超碰在线观看 | 色婷婷影视 | 欧美一二三四在线 | 婷婷丁香在线视频 | 亚洲精品高清一区二区三区四区 | 久久综合亚洲鲁鲁五月久久 | 久久综合给合久久狠狠色 | 欧美精品网站 | 免费情趣视频 | 91在线看视频免费 | 91精品国产一区二区在线观看 | 麻豆免费精品视频 | 久草网站在线观看 | 日韩美av在线 | 成人av高清在线观看 | .国产精品成人自产拍在线观看6 | 久久官网 | 婷婷在线免费视频 | 欧美国产不卡 | 久久视频国产精品免费视频在线 | 久久久男人的天堂 | 人人爽久久涩噜噜噜网站 | 日韩av电影一区 | 国产剧情一区二区在线观看 | 波多野结衣在线视频一区 | 成人av资源网站 | 色美女在线| 午夜私人影院久久久久 | 美女网站在线免费观看 | 久久久久99999 | 91福利小视频 | 国内成人精品2018免费看 | 免费观看黄 | 国产成人333kkk | 91视频免费视频 | 国产精品麻豆三级一区视频 | 免费成人在线视频网站 | 日韩在线三区 | 精品久久久久久亚洲 | 免费看av在线 | 美女亚洲精品 | 精一区二区| 久久免费毛片视频 | 91福利区一区二区三区 |