精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android dispatchTouchEvent介紹

移動開發 Android
Android中的事件類型分為按鍵事件和屏幕觸摸事件,Touch事件是屏幕觸摸事件的基礎事件,有必要對它進行深入的了解。

一個最簡單的屏幕觸摸動作觸發了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP

當屏幕中包含一個ViewGroup,而這個ViewGroup又包含一個子view,這個時候android系統如何處理Touch事件呢?到底是 ViewGroup來處理Touch事件,還是子view來處理Touch事件呢?這個并不一定。為什么呢?看看下面的調查結果就明白了。

android系統中的每個View的子類都具有下面三個和TouchEvent處理密切相關的方法:

1)public boolean dispatchTouchEvent(MotionEvent ev)  這個方法用來分發TouchEvent

2)public boolean onInterceptTouchEvent(MotionEvent ev) 這個方法用來攔截TouchEvent

3)public boolean onTouchEvent(MotionEvent ev) 這個方法用來處理TouchEvent

當TouchEvent發生時,首先Activity將TouchEvent傳遞給最頂層的View, TouchEvent***到達最頂層 view 的 dispatchTouchEvent ,然后由  dispatchTouchEvent 方法進行分發,如果dispatchTouchEvent返回true ,則交給這個view的onTouchEvent處理,如果dispatchTouchEvent返回 false ,則交給這個 view 的 interceptTouchEvent 方法來決定是否要攔截這個事件,如果 interceptTouchEvent 返回 true ,也就是攔截掉了,則交給它的 onTouchEvent 來處理,如果 interceptTouchEvent 返回 false ,那么就傳遞給子 view ,由子 view 的 dispatchTouchEvent 再來開始這個事件的分發。如果事件傳遞到某一層的子 view 的 onTouchEvent 上了,這個方法返回了 false ,那么這個事件會從這個 view 往上傳遞,都是 onTouchEvent 來接收。而如果傳遞到最上面的 onTouchEvent 也返回 false 的話,這個事件就會“消失”,而且接收不到下一次事件。

通過語言描述這個處理邏輯很抽象,下面就用代碼來具體說明一下。

layout配置文件 main.xml:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <test.lzqdiy.MyLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:orientation="vertical" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     android:gravity="center" > 
  7.        <test.lzqdiy.MyTextView 
  8.             android:layout_width="200px" 
  9.             android:layout_height="200px" 
  10.             android:id="@+id/tv" 
  11.             android:text="lzqdiy" 
  12.             android:textSize="40sp" 
  13.             android:textStyle="bold" 
  14.             android:background="#FFFFFF" 
  15.             android:textColor="#0000FF"/> 
  16. </test.lzqdiy.MyLinearLayout>  

節點層次很簡單,一個LinearLayout中添加了一個TextView。

下面是java代碼:

  1. package test.lzqdiy; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5.  
  6. public class TestTouchEventApp extends Activity { 
  7.     /** Called when the activity is first created. */ 
  8.     @Override 
  9.     public void onCreate(Bundle savedInstanceState) { 
  10.         super.onCreate(savedInstanceState); 
  11.         setContentView(R.layout.main); 
  12.     } 
  13. package test.lzqdiy; 
  14.  
  15. import android.content.Context; 
  16. import android.util.AttributeSet; 
  17. import android.util.Log; 
  18. import android.view.MotionEvent; 
  19. import android.widget.LinearLayout; 
  20.  
  21. public class MyLinearLayout extends LinearLayout { 
  22.     private final String TAG = "MyLinearLayout"
  23.  
  24.     public MyLinearLayout(Context context, AttributeSet attrs) { 
  25.  
  26.         super(context, attrs); 
  27.  
  28.         Log.d(TAG, TAG); 
  29.  
  30.     } 
  31.  
  32.     @Override 
  33.     public boolean dispatchTouchEvent(MotionEvent ev) { 
  34.         int action = ev.getAction(); 
  35.  
  36.         switch (action) { 
  37.  
  38.         case MotionEvent.ACTION_DOWN: 
  39.  
  40.             Log.d(TAG, "dispatchTouchEvent action:ACTION_DOWN"); 
  41.  
  42.             break
  43.  
  44.         case MotionEvent.ACTION_MOVE: 
  45.  
  46.             Log.d(TAG, "dispatchTouchEvent action:ACTION_MOVE"); 
  47.  
  48.             break
  49.  
  50.         case MotionEvent.ACTION_UP: 
  51.  
  52.             Log.d(TAG, "dispatchTouchEvent action:ACTION_UP"); 
  53.  
  54.             break
  55.  
  56.         case MotionEvent.ACTION_CANCEL: 
  57.  
  58.             Log.d(TAG, "dispatchTouchEvent action:ACTION_CANCEL"); 
  59.  
  60.             break
  61.  
  62.         } 
  63.         return super.dispatchTouchEvent(ev); 
  64.     } 
  65.  
  66.     @Override 
  67.     public boolean onInterceptTouchEvent(MotionEvent ev) { 
  68.  
  69.         int action = ev.getAction(); 
  70.  
  71.         switch (action) { 
  72.  
  73.         case MotionEvent.ACTION_DOWN: 
  74.  
  75.             Log.d(TAG, "onInterceptTouchEvent action:ACTION_DOWN"); 
  76.  
  77.             break
  78.  
  79.         case MotionEvent.ACTION_MOVE: 
  80.  
  81.             Log.d(TAG, "onInterceptTouchEvent action:ACTION_MOVE"); 
  82.  
  83.             break
  84.  
  85.         case MotionEvent.ACTION_UP: 
  86.  
  87.             Log.d(TAG, "onInterceptTouchEvent action:ACTION_UP"); 
  88.  
  89.             break
  90.  
  91.         case MotionEvent.ACTION_CANCEL: 
  92.  
  93.             Log.d(TAG, "onInterceptTouchEvent action:ACTION_CANCEL"); 
  94.  
  95.             break
  96.  
  97.         } 
  98.  
  99.         return false
  100.  
  101.     } 
  102.  
  103.     @Override 
  104.     public boolean onTouchEvent(MotionEvent ev) { 
  105.  
  106.         int action = ev.getAction(); 
  107.  
  108.         switch (action) { 
  109.  
  110.         case MotionEvent.ACTION_DOWN: 
  111.  
  112.             Log.d(TAG, "---onTouchEvent action:ACTION_DOWN"); 
  113.  
  114.             break
  115.  
  116.         case MotionEvent.ACTION_MOVE: 
  117.  
  118.             Log.d(TAG, "---onTouchEvent action:ACTION_MOVE"); 
  119.  
  120.             break
  121.  
  122.         case MotionEvent.ACTION_UP: 
  123.  
  124.             Log.d(TAG, "---onTouchEvent action:ACTION_UP"); 
  125.  
  126.             break
  127.  
  128.         case MotionEvent.ACTION_CANCEL: 
  129.  
  130.             Log.d(TAG, "---onTouchEvent action:ACTION_CANCEL"); 
  131.  
  132.             break
  133.  
  134.         } 
  135.  
  136.         return true
  137.     } 
  138.  
  139.  
  140. package test.lzqdiy; 
  141.  
  142. import android.content.Context; 
  143. import android.util.AttributeSet; 
  144. import android.util.Log; 
  145. import android.view.MotionEvent; 
  146. import android.widget.TextView; 
  147.  
  148. public class MyTextView extends TextView { 
  149.  
  150.     private final String TAG = "MyTextView"
  151.  
  152.     public MyTextView(Context context, AttributeSet attrs) { 
  153.  
  154.         super(context, attrs); 
  155.  
  156.     } 
  157.  
  158.     @Override 
  159.     public boolean dispatchTouchEvent(MotionEvent ev) { 
  160.         int action = ev.getAction(); 
  161.  
  162.         switch (action) { 
  163.  
  164.         case MotionEvent.ACTION_DOWN: 
  165.  
  166.             Log.d(TAG, "dispatchTouchEvent action:ACTION_DOWN"); 
  167.  
  168.             break
  169.  
  170.         case MotionEvent.ACTION_MOVE: 
  171.  
  172.             Log.d(TAG, "dispatchTouchEvent action:ACTION_MOVE"); 
  173.  
  174.             break
  175.  
  176.         case MotionEvent.ACTION_UP: 
  177.  
  178.             Log.d(TAG, "dispatchTouchEvent action:ACTION_UP"); 
  179.  
  180.             break
  181.  
  182.         case MotionEvent.ACTION_CANCEL: 
  183.  
  184.             Log.d(TAG, "onTouchEvent action:ACTION_CANCEL"); 
  185.  
  186.             break
  187.  
  188.         } 
  189.         return super.dispatchTouchEvent(ev); 
  190.     } 
  191.  
  192.     @Override 
  193.     public boolean onTouchEvent(MotionEvent ev) { 
  194.  
  195.         int action = ev.getAction(); 
  196.  
  197.         switch (action) { 
  198.  
  199.         case MotionEvent.ACTION_DOWN: 
  200.  
  201.             Log.d(TAG, "---onTouchEvent action:ACTION_DOWN"); 
  202.  
  203.             break
  204.  
  205.         case MotionEvent.ACTION_MOVE: 
  206.  
  207.             Log.d(TAG, "---onTouchEvent action:ACTION_MOVE"); 
  208.  
  209.             break
  210.  
  211.         case MotionEvent.ACTION_UP: 
  212.  
  213.             Log.d(TAG, "---onTouchEvent action:ACTION_UP"); 
  214.  
  215.             break
  216.  
  217.         case MotionEvent.ACTION_CANCEL: 
  218.  
  219.             Log.d(TAG, "---onTouchEvent action:ACTION_CANCEL"); 
  220.  
  221.             break
  222.  
  223.         } 
  224.  
  225.         return true
  226.  
  227.     } 
  228.  
  229. }  

為了指代方便,下面將MyLinearLayout簡稱為L,將MyTextView簡稱為 T,L.onInterceptTouchEvent=true 表示的含義為MyLinearLayout中的onInterceptTouchEvent方法返回值為true,通過程序運行時輸出的Log來說明調用 時序。

第1種情況 L.onInterceptTouchEvent=false&& L.onTouchEvent=true &&T.onTouchEvent=true 輸出下面的Log:

D/MyLinearLayout(11865): dispatchTouchEvent action:ACTION_DOWN
D/MyLinearLayout(11865): onInterceptTouchEvent action:ACTION_DOWN
D/MyTextView(11865): dispatchTouchEvent action:ACTION_DOWN
D/MyTextView(11865): ---onTouchEvent action:ACTION_DOWN
D/MyLinearLayout(11865): dispatchTouchEvent action:ACTION_MOVE
D/MyLinearLayout(11865): onInterceptTouchEvent action:ACTION_MOVE
D/MyTextView(11865): dispatchTouchEvent action:ACTION_MOVE
D/MyTextView(11865): ---onTouchEvent action:ACTION_MOVE
...........省略其他的ACTION_MOVE事件Log
D/MyLinearLayout(11865): dispatchTouchEvent action:ACTION_UP
D/MyLinearLayout(11865): onInterceptTouchEvent action:ACTION_UP
D/MyTextView(11865): dispatchTouchEvent action:ACTION_UP
D/MyTextView(11865): ---onTouchEvent action:ACTION_UP

結論:TouchEvent完全由TextView處理。

第2種情況  L.onInterceptTouchEvent=false&& L.onTouchEvent=true &&T.onTouchEvent=false 輸出下面的Log:

D/MyLinearLayout(13101): dispatchTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13101): onInterceptTouchEvent action:ACTION_DOWN
D/MyTextView(13101): dispatchTouchEvent action:ACTION_DOWN
D/MyTextView(13101): ---onTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13101): ---onTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13101): dispatchTouchEvent action:ACTION_MOVE
D/MyLinearLayout(13101): ---onTouchEvent action:ACTION_MOVE
...........省略其他的ACTION_MOVE事件Log
D/MyLinearLayout(13101): dispatchTouchEvent action:ACTION_UP
D/MyLinearLayout(13101): ---onTouchEvent action:ACTION_UP

結論:TextView只處理了ACTION_DOWN事件,LinearLayout處理了所有的TouchEvent。

第3種情況  L.onInterceptTouchEvent=true&& L.onTouchEvent=true 輸出下面的Log:

D/MyLinearLayout(13334): dispatchTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13334): onInterceptTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13334): ---onTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13334): dispatchTouchEvent action:ACTION_MOVE
D/MyLinearLayout(13334): ---onTouchEvent action:ACTION_MOVE
...........省略其他的ACTION_MOVE事件Log
D/MyLinearLayout(13334): dispatchTouchEvent action:ACTION_UP
D/MyLinearLayout(13334): ---onTouchEvent action:ACTION_UP

結論:LinearLayout處理了所有的TouchEvent。

第4種情況  L.onInterceptTouchEvent=true&& L.onTouchEvent=false 輸出下面的Log:

D/MyLinearLayout(13452): dispatchTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13452): onInterceptTouchEvent action:ACTION_DOWN
D/MyLinearLayout(13452): ---onTouchEvent action:ACTION_DOWN 

結論:LinearLayout只處理了ACTION_DOWN事件,那么其他的TouchEvent被誰處理了呢?答案是LinearLayout最外層的Activity處理了TouchEvent。

責任編輯:徐川 來源: OSChina
相關推薦

2017-01-23 21:35:58

Android人臉檢測介紹

2010-01-27 16:41:48

Android特點

2013-01-16 14:41:14

Android開發Android SDK

2013-12-27 09:54:58

Android開發NDK

2009-03-24 08:33:14

AndroidGoogle移動os

2009-09-17 17:20:21

Android Deb

2010-01-26 10:31:32

Android onK

2010-01-27 17:08:01

Android Hel

2010-02-07 13:55:39

Android圖形

2011-05-26 17:15:26

Android Droid-Fu

2010-02-06 18:04:21

Android 接口

2013-01-16 14:19:03

Android工程目錄結構Android開發

2010-02-05 16:21:02

Android導航

2010-03-02 09:13:55

Android手機系統

2013-01-10 13:50:25

Android開發組件

2010-03-03 17:29:30

Android程序

2010-02-04 14:16:45

Android平臺

2010-01-26 17:36:17

Android實現全屏

2010-03-03 13:56:24

2010-03-05 16:58:02

Android Mar
點贊
收藏

51CTO技術棧公眾號

91精品国产麻豆| 日本一区二区三区在线不卡| 97久久久免费福利网址| 成人影视免费观看| 999国产精品亚洲77777| 亚洲在线一区二区三区| 欧美精品v日韩精品v国产精品| 一级做a爱片久久毛片| 亚洲国产高清一区| 神马久久桃色视频| 国产精品无码网站| 中文字幕日本一区| 日韩欧美中文免费| 欧美在线观看视频免费| 久草视频视频在线播放| 国产在线看一区| 日本aⅴ大伊香蕉精品视频| 日本中文字幕免费在线观看| 美日韩中文字幕| 精品国产自在久精品国产| 中文字幕在线导航| 超级碰碰不卡在线视频| 亚洲人成电影网站色mp4| 日本一区二区三区在线视频| 黄片毛片在线看| 精彩视频一区二区| 国产精品久久电影观看| 亚洲国产成人精品激情在线| 91精品综合久久久久久久久久久| 亚洲人精品午夜在线观看| 国内自拍偷拍视频| 成人黄色理论片| 欧美亚洲尤物久久| 人妻熟女一二三区夜夜爱| 美女日批视频在线观看| 亚洲欧洲日韩综合一区二区| 日本一区二区三区四区高清视频 | av7777777| 久久国产精品黑丝| 亚洲精选视频免费看| 亚洲欧美久久234| 触手亚洲一区二区三区| 欧美经典一区二区三区| 久久久久久久久一区二区| 成人免费视频国产免费麻豆| 国产精品456| 97超级在线观看免费高清完整版电视剧| 亚洲在线观看av| 免费高清不卡av| 国产欧美日韩亚洲精品| 亚洲一级黄色大片| 九色综合狠狠综合久久| 亚洲va欧美va国产综合剧情| 99久久久久久久| 国产一区二区三区黄视频| 91久久久久久久久久久| 99久久精品国产一区二区成人| 国产一区二区女| 91在线直播亚洲| 精品毛片一区二区三区| 粉嫩一区二区三区性色av| 999热视频| 成人久久久精品国产乱码一区二区| 成人在线视频一区二区| 精品国产综合久久| 精品视频三区| 国产精品视频一二三区| 中文字幕av久久| 日本无删减在线| 黄色成人av网| 国产天堂在线播放| 88xx成人免费观看视频库 | 黄色在线播放| 国产精品美女一区二区三区| 国产树林野战在线播放| xxxx在线视频| 色狠狠综合天天综合综合| 91色国产在线| 国产一区二区视频在线看| 亚洲精品在线三区| 伊人网在线视频观看| 99精品视频在线| 久久久久久尹人网香蕉| 欧美特黄aaaaaa| 精品亚洲国产成人av制服丝袜| av一区二区三区免费| 四虎影院在线播放| 成人欧美一区二区三区视频网页 | 久久爱www久久做| 国产激情美女久久久久久吹潮| 青梅竹马是消防员在线| 中文字幕永久在线不卡| 中国丰满熟妇xxxx性| 日韩美女在线看免费观看| 日韩一区二区三区观看| 30一40一50老女人毛片| 亚洲色图插插| 日本免费一区二区三区视频观看| 国产精品天天操| 99国内精品久久| 91九色国产ts另类人妖| 国产精品迅雷| 日韩一区二区三区在线视频| 男人舔女人下部高潮全视频| 好看的亚洲午夜视频在线| 国产精品v片在线观看不卡| 成人黄色在线观看视频| 国产精品毛片大码女人| 熟女少妇在线视频播放| 亚洲高清999| 色偷偷av一区二区三区乱| 黄网在线观看视频| 国产麻豆精品在线观看| 色噜噜狠狠一区二区三区| 免费网站在线观看人| 欧美三级电影网站| 精品人妻互换一区二区三区| 亚洲一级网站| 999视频在线观看| 老司机免费在线视频| 色噜噜狠狠色综合中国| 欧美一区二区三区成人精品| 亚洲经典自拍| 99久久久久国产精品免费| 欧美日韩在线看片| 欧美日韩国产区| 中文字幕视频观看| 欧美在线首页| 91香蕉国产在线观看| 天堂资源在线中文| 欧美丝袜第三区| 特级西西www444人体聚色 | 伊人国产在线视频| 国产影视一区| 国产不卡在线观看| 日av在线播放| 色综合久久久久综合| 巨胸大乳www视频免费观看| 亚洲人人精品| 国产在线一区二区三区播放| 国产蜜臀在线| 亚洲精品一区二区三区99| 欧美一级高潮片| 成人爽a毛片一区二区免费| 激情成人开心网| 日韩精品视频中文字幕| 欧美另类老女人| 亚洲av无码一区二区三区性色| 亚洲免费av高清| 特种兵之深入敌后| 好看的日韩av电影| 国产日韩一区欧美| 亚洲伊人av| 亚洲精品自拍第一页| 成年人av网站| 国产精品福利电影一区二区三区四区 | 婷婷成人激情| 欧美一区二区三区视频在线| 色在线观看视频| 丰满亚洲少妇av| 日韩久久一级片| 国产videos久久| 国产综合久久久久| 亚洲www色| 亚洲国产另类久久精品| 午夜精品一区二| 欧美国产一区在线| 国产精品二区视频| 99精品热视频只有精品10| 蜜桃av噜噜一区二区三区| 三级成人黄色影院| 日韩在线小视频| 亚洲精品成人电影| 狠狠躁夜夜躁久久躁别揉| 国精产品一区二区三区| 精品一二三四区| 无码专区aaaaaa免费视频| 精品大片一区二区| 亚洲a级在线播放观看| 欧美freesex黑人又粗又大| 一区二区三区黄色| 国产女18毛片多18精品| 午夜久久久影院| 欧美激情亚洲色图| 婷婷色一区二区三区| 欧美片第1页综合| 欧美激情国产在线| av成人午夜| 韩国三级一区| 欧美激情视频一区二区| 美州a亚洲一视本频v色道| 制服丝袜亚洲色图| 日韩熟女精品一区二区三区| 中日韩av电影| 亚洲男女在线观看| 久久99久久99| 黄色片久久久久| 欧美精品1区| 日韩免费一区二区三区| 伊人久久影院| 国产精品视频永久免费播放| 黄色成人在线网| 中文字幕精品国产| 天天综合永久入口| 538在线一区二区精品国产| 黄瓜视频在线免费观看| 亚洲综合偷拍欧美一区色| 手机看片福利视频| 91美女视频网站| gogo亚洲国模私拍人体| 美日韩一区二区三区| 精品国产免费av| 欧美三级视频| 在线免费观看成人| 精品一区二区三| 久久久久久久久四区三区| 亚洲精品一区国产| 91精品在线播放| 99久久伊人| 国产精品久久二区| 新片速递亚洲合集欧美合集| 久久人人看视频| 超碰在线免费播放| 中文字幕精品在线| 国产在线超碰| 精品视频久久久久久| 蜜桃av噜噜一区二区三区麻豆| 欧美精品tushy高清| 中文字幕人妻一区二区三区视频| 欧美日韩国产一区二区三区| 国产在线观看免费视频今夜| 国产精品第13页| 91视频免费看片| 国产欧美精品一区二区色综合朱莉 | 欧美精品一区二区成人| 亚洲人成7777| 印度午夜性春猛xxx交| 亚洲日本丝袜连裤袜办公室| 久久久久久久麻豆| 亚洲特黄一级片| 亚洲综合视频网站| 亚洲欧洲综合另类| 99久久婷婷国产综合| 亚洲美女少妇撒尿| 免费在线观看一级片| 一区二区三区.www| 中文字幕亚洲乱码| 精品毛片在线观看| 7777精品伊人久久久大香线蕉完整版| 天天干天天操天天操| 天天综合网 天天综合色| 国产小视频在线看| 亚洲成人手机在线| 国产做受高潮漫动| 欧美性猛xxx| 国产精品乱码一区二区视频| 91国产视频在线观看| 中文字幕视频在线播放| 欧美男女性生活在线直播观看| 国产乱码精品一区二三区蜜臂| 51午夜精品国产| 国产日韩免费视频| 日韩你懂的电影在线观看| 国产91免费在线观看| 日韩精品欧美激情| 成人欧美一区| xxx一区二区| 欧美6一10sex性hd| 97热在线精品视频在线观看| 欧美精品一二区| 日本乱码一区二区三区不卡| 国产精品久久久久久久久久久新郎 | 26uuu成人网一区二区三区| 一区二区黄色片| 中文字幕亚洲欧美在线不卡| 久久久久久久国产视频| 狠狠躁夜夜躁久久躁别揉| 一区二区视频播放| 欧美xxxxxxxxx| 韩国三级av在线免费观看| 精品国产欧美一区二区三区成人| 欧美黑人猛交| 国产成人精品一区二区三区| 精品麻豆剧传媒av国产九九九| 国产日韩一区欧美| 99久久这里只有精品| 久草免费福利在线| 久久国产麻豆精品| 怡红院一区二区| 欧美国产综合色视频| 国产在线观看99| 欧美老人xxxx18| 亚洲av成人精品日韩在线播放| 色多多国产成人永久免费网站| 白浆在线视频| 91亚洲精品久久久久久久久久久久| 偷拍精品福利视频导航| 国产免费一区二区三区四在线播放| 亚洲一区二区三区高清| 免费人成视频在线播放| 欧美激情在线免费观看| 日韩少妇高潮抽搐| 欧美一区二区三区日韩视频| 青青国产在线| 欧美激情精品久久久久| 国产资源一区| 日本欧美色综合网站免费| 在线欧美亚洲| 亚洲精品免费一区亚洲精品免费精品一区 | 黄色电影免费在线看| 欧美激情一级二级| 懂色av色香蕉一区二区蜜桃| 日韩欧美亚洲在线| 国产精品久久久久久久久久妞妞| 亚洲精品鲁一鲁一区二区三区| 国产精品久久久久7777按摩| 91精品国产高清一区二区三密臀| 精品国产一区二区在线观看| av官网在线播放| 国产女人精品视频| 久久精品高清| 韩国视频一区二区三区| 久久影院午夜论| 国产一级18片视频| 日韩毛片在线看| 手机在线观看av| 好吊妞www.84com只有这里才有精品| 欧美激情91| 亚洲国产欧美日韩在线| 亚洲视频每日更新| 国产精品永久久久久久久久久| 色青青草原桃花久久综合| 992tv国产精品成人影院| 欧美一级爱爱| 水蜜桃久久夜色精品一区的特点| 男人操女人动态图| 在线视频欧美精品| 成人福利在线| 国产欧美一区二区三区在线看| 俺要去色综合狠狠| 少妇一级淫免费放| 国产精品久久久久久久第一福利 | 免费在线一级片| 精品乱人伦小说| 18video性欧美19sex高清| 国产精品国产三级欧美二区| 在线看片一区| 无码熟妇人妻av| 色婷婷综合久久久久中文一区二区| 黄网在线免费| 国产精品自拍视频| 欧美搞黄网站| 精品无码人妻少妇久久久久久| 午夜不卡av在线| 你懂的免费在线观看| 国产精品久久久久久av福利软件| 欧美1级片网站| 午夜诱惑痒痒网| 午夜精品视频在线观看| 色在线免费视频| 国产精品一区二区三区在线播放| 亚洲天天综合| 国产不卡一二三| 欧美亚洲一区二区在线| 成人毛片av在线| 国内一区二区三区在线视频| 麻豆精品网站| 三级全黄做爰视频| 亚洲国产欧美一区二区三区同亚洲 | 国产乱色在线观看| 国产91亚洲精品一区二区三区| 国产日韩亚洲| 狂野欧美性猛交| 精品国产一区二区三区不卡| 成人片免费看| 最新不卡av| 91免费国产在线观看| 国产精品无码免费播放| 国内精品久久久久久影视8| 国产日产精品_国产精品毛片| 欧美视频亚洲图片| 亚洲国产视频直播| 成年在线电影| 99re在线播放| 日韩成人精品在线观看| 91aaa在线观看| 亚洲美女又黄又爽在线观看| 久久中文字幕一区二区| 农村妇女精品一二区| 亚洲精品乱码久久久久久黑人| 亚洲欧洲国产综合| 92看片淫黄大片欧美看国产片| 国产精品综合| 午夜免费激情视频| 亚洲日本成人女熟在线观看| 视频精品二区| 性chinese极品按摩| 婷婷综合久久一区二区三区| 久操视频在线播放| 日本一区二区三区视频免费看|