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

鴻蒙HarmonyOS App開(kāi)發(fā)造輪子-自定義圓形圖片組件

開(kāi)發(fā) OpenHarmony
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請(qǐng)前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com/#zz

[[375008]]

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz 

一、背景

在采用Java配合xml布局編寫鴻蒙app頁(yè)面的時(shí)候,發(fā)現(xiàn)sdk自帶的Image組件并不能將圖片設(shè)置成圓形,反復(fù)了翻閱了官方API手冊(cè)(主要查閱了Compont和Image相關(guān)的API),起初發(fā)現(xiàn)了一個(gè)setCornerRadius方法,于是想著將圖片寬度和高度設(shè)置為一樣,然后調(diào)用該方法將radios設(shè)置為寬度或者高度的一半,以為可以實(shí)現(xiàn)圓形圖片的效果,后來(lái)發(fā)現(xiàn)不行。于是乎想著能不能通過(guò)繼承原有的Image自己來(lái)動(dòng)手重新自定義一個(gè)支持圓形的圖片組件。

二、思路

1、對(duì)比之前自己在其他程序開(kāi)發(fā)中自定義組件的思路,首先尋找父組件Image和Component相關(guān)的Api,看看是否具備OnDraw方法。

2、了解Canvas相關(guān)Api操作,特別是涉及到位圖的操作。

通過(guò)翻閱大量資料,發(fā)現(xiàn)了兩個(gè)關(guān)鍵的api,分別是Component的addDrawTask方法和其內(nèi)部靜態(tài)接口DrawTask



三、自定義組件模塊

1、新建一個(gè)工程之后,創(chuàng)建一個(gè)獨(dú)立的Java FA模塊,然后刪除掉里面所有布局以及自動(dòng)生成的java代碼,然后自己創(chuàng)建一個(gè)class繼承ImageView;

2、寫一個(gè)類繼承ImageView,在其中暴露出public的設(shè)置圓形圖片的api方法以供后面調(diào)用;

3、在原有的Image組件獲取到位圖之后,利用該位圖數(shù)據(jù)利用addDrawTask方法配合Canvas進(jìn)行位圖輸出形狀的重新繪制,這里需要使用Canvas的一個(gè)關(guān)鍵api方法drawPixelMapHolderRoundRectShape;

4、注意,為了讓Canvas最后輸出的圖片為圓形,需要將圖片在布局中的寬度和高度設(shè)置成一樣,否則輸出的為圓角矩形或者橢圓形。

最后封裝后的詳細(xì)代碼如下:

  1. package com.xdw.customview; 
  2.  
  3. import ohos.agp.components.AttrSet; 
  4. import ohos.agp.components.Image; 
  5. import ohos.agp.render.PixelMapHolder; 
  6. import ohos.agp.utils.RectFloat; 
  7. import ohos.app.Context; 
  8. import ohos.hiviewdfx.HiLog; 
  9. import ohos.hiviewdfx.HiLogLabel; 
  10. import ohos.media.image.ImageSource; 
  11. import ohos.media.image.PixelMap; 
  12. import ohos.media.image.common.PixelFormat; 
  13. import ohos.media.image.common.Rect; 
  14. import ohos.media.image.common.Size
  15.  
  16. import java.io.InputStream; 
  17.  
  18. /** 
  19.  * Created by 夏德旺 on 2021/1/1 11:00 
  20.  */ 
  21. public class RoundImage extends Image { 
  22.     private static final HiLogLabel LABEL = new HiLogLabel(HiLog.DEBUG, 0, "RoundImage"); 
  23.     private PixelMapHolder pixelMapHolder;//像素圖片持有者 
  24.     private RectFloat rectDst;//目標(biāo)區(qū)域 
  25.     private RectFloat rectSrc;//源區(qū)域 
  26.     public RoundImage(Context context) { 
  27.         this(context,null); 
  28.  
  29.     } 
  30.  
  31.     public RoundImage(Context context, AttrSet attrSet) { 
  32.         this(context,attrSet,null); 
  33.     } 
  34.  
  35.     /** 
  36.      * 加載包含該控件的xml布局,會(huì)執(zhí)行該構(gòu)造函數(shù) 
  37.      * @param context 
  38.      * @param attrSet 
  39.      * @param styleName 
  40.      */ 
  41.     public RoundImage(Context context, AttrSet attrSet, String styleName) { 
  42.         super(context, attrSet, styleName); 
  43.         HiLog.error(LABEL,"RoundImage"); 
  44.     } 
  45.  
  46.  
  47.  
  48.     public void onRoundRectDraw(int radius){ 
  49.         //添加繪制任務(wù) 
  50.         this.addDrawTask((view, canvas) -> { 
  51.             if (pixelMapHolder == null){ 
  52.                 return
  53.             } 
  54.             synchronized (pixelMapHolder) { 
  55.                 //給目標(biāo)區(qū)域賦值,寬度和高度取自xml配置文件中的屬性 
  56.                 rectDst = new RectFloat(0,0,getWidth(),getHeight()); 
  57.                 //繪制圓角圖片 
  58.                 canvas.drawPixelMapHolderRoundRectShape(pixelMapHolder, rectSrc, rectDst, radius, radius); 
  59.                 pixelMapHolder = null
  60.             } 
  61.         }); 
  62.     } 
  63.  
  64.     //使用canvas繪制圓形 
  65.     private void onCircleDraw(){ 
  66.         //添加繪制任務(wù),自定義組件的核心api調(diào)用,該接口的參數(shù)為Component下的DrawTask接口 
  67.         this.addDrawTask((view, canvas) -> { 
  68.             if (pixelMapHolder == null){ 
  69.                 return
  70.             } 
  71.             synchronized (pixelMapHolder) { 
  72.                 //給目標(biāo)區(qū)域賦值,寬度和高度取自xml配置文件中的屬性 
  73.                 rectDst = new RectFloat(0,0,getWidth(),getHeight()); 
  74.                 //使用canvas繪制輸出圓角矩形的位圖,該方法第4個(gè)參數(shù)和第5個(gè)參數(shù)為radios參數(shù), 
  75.                 // 繪制圖片,必須把圖片的寬度和高度先設(shè)置成一樣,然后把它們?cè)O(shè)置為圖片寬度或者高度一半時(shí)則繪制的為圓形 
  76.                 canvas.drawPixelMapHolderRoundRectShape(pixelMapHolder, rectSrc, rectDst, getWidth()/2, getHeight()/2); 
  77.                 pixelMapHolder = null
  78.             } 
  79.         }); 
  80.     } 
  81.  
  82.  
  83.     /** 
  84.      *獲取原有Image中的位圖資源后重新檢驗(yàn)繪制該組件 
  85.      * @param pixelMap 
  86.      */ 
  87.     private void putPixelMap(PixelMap pixelMap){ 
  88.         if (pixelMap != null) { 
  89.             rectSrc = new RectFloat(0, 0, pixelMap.getImageInfo().size.width, pixelMap.getImageInfo().size.height); 
  90.             pixelMapHolder = new PixelMapHolder(pixelMap); 
  91.             invalidate();//重新檢驗(yàn)該組件 
  92.         }else
  93.             pixelMapHolder = null
  94.             setPixelMap(null); 
  95.         } 
  96.     } 
  97.  
  98.  
  99.     /** 
  100.      * 通過(guò)資源ID獲取位圖對(duì)象 
  101.      **/ 
  102.     private PixelMap getPixelMap(int resId) { 
  103.         InputStream drawableInputStream = null
  104.         try { 
  105.             drawableInputStream = getResourceManager().getResource(resId); 
  106.             ImageSource.SourceOptions sourceOptions = new ImageSource.SourceOptions(); 
  107.             sourceOptions.formatHint = "image/png"
  108.             ImageSource imageSource = ImageSource.create(drawableInputStream, null); 
  109.             ImageSource.DecodingOptions decodingOptions = new ImageSource.DecodingOptions(); 
  110.             decodingOptions.desiredSize = new Size(0, 0); 
  111.             decodingOptions.desiredRegion = new Rect(0, 0, 0, 0); 
  112.             decodingOptions.desiredPixelFormat = PixelFormat.ARGB_8888; 
  113.             PixelMap pixelMap = imageSource.createPixelmap(decodingOptions); 
  114.             return pixelMap; 
  115.         } catch (Exception e) { 
  116.             e.printStackTrace(); 
  117.         } finally { 
  118.             try{ 
  119.                 if (drawableInputStream != null){ 
  120.                     drawableInputStream.close(); 
  121.                 } 
  122.             }catch (Exception e) { 
  123.                 e.printStackTrace(); 
  124.             } 
  125.         } 
  126.         return null
  127.     } 
  128.  
  129.     /** 
  130.      * 對(duì)外調(diào)用的api,設(shè)置圓形圖片方法 
  131.      * @param resId 
  132.      */ 
  133.     public void setPixelMapAndCircle(int resId){ 
  134.         PixelMap pixelMap = getPixelMap(resId); 
  135.         putPixelMap(pixelMap); 
  136.         onCircleDraw(); 
  137.     } 
  138.  
  139.     /** 
  140.      * 對(duì)外調(diào)用的api,設(shè)置圓角圖片方法 
  141.      * @param resId 
  142.      * @param radius 
  143.      */ 
  144.     public void setPixelMapAndRoundRect(int resId,int radius){ 
  145.         PixelMap pixelMap = getPixelMap(resId); 
  146.         putPixelMap(pixelMap); 
  147.         onRoundRectDraw(radius); 
  148.     } 

 5、修改config.json文件,代碼如下:

  1.   "app": { 
  2.     "bundleName""com.xdw.customview"
  3.     "vendor""xdw"
  4.     "version": { 
  5.       "code": 1, 
  6.       "name""1.0" 
  7.     }, 
  8.     "apiVersion": { 
  9.       "compatible": 4, 
  10.       "target": 4, 
  11.       "releaseType""Beta1" 
  12.     } 
  13.   }, 
  14.   "deviceConfig": {}, 
  15.   "module": { 
  16.     "package""com.xdw.customview"
  17.     "deviceType": [ 
  18.       "phone"
  19.       "tv"
  20.       "tablet"
  21.       "car"
  22.       "wearable" 
  23.     ], 
  24.     "reqPermissions": [ 
  25.       { 
  26.         "name""ohos.permission.INTERNET" 
  27.       } 
  28.     ], 
  29.     "distro": { 
  30.       "deliveryWithInstall"true
  31.       "moduleName""roundimage"
  32.       "moduleType""har" 
  33.     } 
  34.   } 

 這樣該模塊就可以導(dǎo)出后續(xù)給其他所有工程引用了,后面還可以編譯之后發(fā)布到gradle上直接通過(guò)添加依賴來(lái)進(jìn)行使用(這個(gè)是后話),下面我們先通過(guò)本地依賴導(dǎo)入的方式來(lái)調(diào)用這個(gè)自定義組件模塊吧。

四、其他工程調(diào)用該自定義組件并測(cè)試效果

1、再來(lái)新建一個(gè)工程,然后將之前的模塊導(dǎo)入到新建的工程中(DevEco暫時(shí)不支持自動(dòng)導(dǎo)入外部模塊的操作,需要手動(dòng)導(dǎo)入操作,請(qǐng)關(guān)注我的另外一篇博客)。

2、在gradle中引用導(dǎo)入的模塊的組件,代碼如下:

  1. dependencies { 
  2.     entryImplementation project(':entry'
  3.     implementation fileTree(dir: 'libs', include: ['*.jar''*.har']) 
  4.     testCompile'junit:junit:4.12' 

 3、在布局中引用自定義的圓形圖片,代碼如下:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <DirectionalLayout 
  3.     xmlns:ohos="http://schemas.huawei.com/res/ohos" 
  4.     ohos:height="match_parent" 
  5.     ohos:width="match_parent" 
  6.     ohos:orientation="vertical"
  7.  
  8.     <Text 
  9.         ohos:id="$+id:text_helloworld" 
  10.         ohos:height="match_content" 
  11.         ohos:width="match_content" 
  12.         ohos:background_element="$graphic:background_ability_main" 
  13.         ohos:layout_alignment="horizontal_center" 
  14.         ohos:text="Hello World" 
  15.         ohos:text_size="50" 
  16.         /> 
  17.  
  18.     <com.xdw.customview.RoundImage 
  19.         ohos:id="$+id:image" 
  20.         ohos:height="200vp" 
  21.         ohos:width="200vp"/> 
  22. </DirectionalLayout> 

 4、在Java代碼中進(jìn)行調(diào)用,代碼如下:

  1. package com.example.testcustomview.slice; 
  2.  
  3. import com.example.testcustomview.ResourceTable; 
  4. import com.xdw.customview.RoundImage; 
  5. import ohos.aafwk.ability.AbilitySlice; 
  6. import ohos.aafwk.content.Intent; 
  7.  
  8. public class MainAbilitySlice extends AbilitySlice { 
  9.     @Override 
  10.     public void onStart(Intent intent) { 
  11.         super.onStart(intent); 
  12.         super.setUIContent(ResourceTable.Layout_ability_main); 
  13.         RoundImage roundImage = (RoundImage) findComponentById(ResourceTable.Id_image); 
  14.         roundImage.setPixelMapAndCircle(ResourceTable.Media_man); 
  15.     } 
  16.  
  17.     @Override 
  18.     public void onActive() { 
  19.         super.onActive(); 
  20.     } 
  21.  
  22.     @Override 
  23.     public void onForeground(Intent intent) { 
  24.         super.onForeground(intent); 
  25.     } 

 5、開(kāi)啟手機(jī)模擬器進(jìn)行測(cè)試,效果如下:


©著作權(quán)歸作者和HarmonyOS技術(shù)社區(qū)共同所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任。

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2022-10-26 15:54:46

canvas組件鴻蒙

2021-12-30 16:10:52

鴻蒙HarmonyOS應(yīng)用

2022-04-24 15:17:56

鴻蒙操作系統(tǒng)

2021-02-20 12:34:53

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)

2021-11-01 10:21:36

鴻蒙HarmonyOS應(yīng)用

2023-02-20 15:20:43

啟動(dòng)頁(yè)組件鴻蒙

2009-06-24 15:13:36

自定義JSF組件

2022-10-25 15:12:24

自定義組件鴻蒙

2022-07-15 16:45:35

slider滑塊組件鴻蒙

2022-06-30 14:02:07

鴻蒙開(kāi)發(fā)消息彈窗組件

2021-09-15 10:19:15

鴻蒙HarmonyOS應(yīng)用

2022-07-06 20:24:08

ArkUI計(jì)時(shí)組件

2022-06-20 15:43:45

switch開(kāi)關(guān)鴻蒙

2022-02-21 15:16:30

HarmonyOS鴻蒙操作系統(tǒng)

2021-12-21 15:22:22

鴻蒙HarmonyOS應(yīng)用

2022-05-26 14:50:15

ArkUITS擴(kuò)展

2022-02-16 16:09:12

鴻蒙游戲操作系統(tǒng)

2021-12-24 15:46:23

鴻蒙HarmonyOS應(yīng)用

2021-11-22 10:00:33

鴻蒙HarmonyOS應(yīng)用

2022-07-12 16:56:48

自定義組件鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久精品一区四区| 亚洲女同另类| 欧美午夜www高清视频| 国产在线观看一区| 久久艹免费视频| 同性恋视频一区| 色呦呦网站一区| 一区二区精品国产| 成人av一区二区三区在线观看| 欧美视频亚洲视频| 日韩av在线免费观看| 91av在线免费播放| www.久久ai| 国产精品香蕉一区二区三区| 91国内产香蕉| www.日本高清视频| 日韩欧美中文在线观看| 精品久久久精品| 亚洲欧洲一区二区在线观看| 性生活三级视频| 亚洲一区二区动漫| 日韩亚洲第一页| 日韩高清第一页| gogo高清在线播放免费| 国产欧美日韩在线| 国产福利一区二区三区在线观看| 国产字幕在线观看| 国产精品videosex极品| 亚洲最新av在线网站| 亚洲视频天天射| 忘忧草在线www成人影院| 亚洲精品日产精品乱码不卡| 欧美一级二级三级九九九| 91资源在线视频| 国产农村妇女精品一区二区| 久久天天躁狠狠躁夜夜躁2014 | 黄色在线观看www| 亚洲国产成人私人影院tom| 高清免费日韩| 国产精品老熟女视频一区二区| 国产日韩一区| 九九久久综合网站| 欧美福利第一页| 欧美性生活一级片| 日韩美一区二区三区| 美女在线视频一区二区| 欧美电影免费观看网站| 午夜欧美在线一二页| 亚洲精品乱码久久久久久蜜桃91| 三级视频在线播放| 国产成人精品www牛牛影视| 国产精品在线看| 天干夜夜爽爽日日日日| 一区二区91| 久久久久久这里只有精品| 免费国产羞羞网站美图| 久久免费大视频| 亚洲欧洲日本专区| 37p粉嫩大胆色噜噜噜| 国产亚洲成av人片在线观黄桃| 欧美一级理论性理论a| 色18美女社区| 性欧美video另类hd尤物| 欧美视频在线播放| 精品久久久噜噜噜噜久久图片| 日韩大片免费观看| 狠狠操狠狠色综合网| 老太脱裤让老头玩ⅹxxxx| 黑人极品ⅴideos精品欧美棵| 亚洲精品亚洲人成人网| www.男人天堂网| av片在线观看免费| 一区二区三区精品视频在线| 日韩欧美视频免费在线观看| 日韩精品分区| 亚洲午夜久久久久久久久电影网 | 亚洲一区二区偷拍| 国产亚洲高清在线观看| 欧美一区二区女人| 亚洲国产精品狼友在线观看| 久久成人福利| 日韩电影中文 亚洲精品乱码| 给我免费观看片在线电影的| 亚洲国产欧美日韩在线观看第一区| 日韩久久免费电影| 人妻aⅴ无码一区二区三区| 激情五月综合| 按摩亚洲人久久| 欧美日韩三级在线观看 | 国产精品一区免费在线观看| 国产精品手机视频| 欧美一区二区在线观看视频| 97精品视频在线观看自产线路二| 欧美日韩一区二区三区在线视频 | 亚洲成人生活片| 在线欧美亚洲| 国产suv精品一区二区| 一级全黄裸体免费视频| 国产激情视频一区二区在线观看 | 欧美一二三在线| 91精产国品一二三| 色先锋久久影院av| 综合av色偷偷网| 九九九在线视频| 国产精品夜夜夜| 国产精品普通话| 亚洲男女视频在线观看| 久久久不卡网国产精品一区| 在线看视频不卡| gogo久久| 欧美日韩一区成人| 亚洲精品激情视频| 成人综合一区| 欧美激情伊人电影| japanese国产在线观看| 国产精品538一区二区在线| 久久日韩精品| 国产黄色在线免费观看| 日韩欧美中文在线| 国偷自产av一区二区三区麻豆| 妖精视频一区二区三区免费观看| 美女啪啪无遮挡免费久久网站| 日本午夜视频在线观看| 国产精品综合在线视频| 日本公妇乱淫免费视频一区三区| 欧美家庭影院| 欧美性受xxxx黑人xyx性爽| 老熟女高潮一区二区三区| 不卡视频在线| 69av在线视频| av在线亚洲天堂| 国产日韩av一区| 国产在线播放观看| 玖玖玖电影综合影院| 国产一区二区三区中文| 国产成人亚洲欧洲在线| 国产精品一区二区免费不卡| 先锋影音欧美| 一本大道色婷婷在线| 日韩免费看网站| 色偷偷www8888| 日韩中文字幕区一区有砖一区| 国产乱码精品一区二区三区日韩精品 | 色91精品久久久久久久久| 欧美美女在线直播| 欧美极品少妇xxxxⅹ免费视频| 91无套直看片红桃| 国产精品美女久久福利网站| 蜜臀av午夜一区二区三区| 欧美特黄不卡| 免费不卡在线观看av| 一区二区日韩在线观看| 亚洲国产精品二十页| 国产情侣av自拍| 国产精品日韩精品中文字幕| 日本一本a高清免费不卡| 日本精品一二区| 亚洲一区二区三区影院| 99国产精品免费视频| 在线精品国产| 91精品视频在线播放| 五月天婷婷在线视频| 欧美在线观看18| 少妇精品无码一区二区免费视频| 可以看av的网站久久看| www.99re7| 久久五月精品中文字幕| 欧美喷水一区二区| 日本黄色激情视频| 麻豆极品一区二区三区| 亚洲v国产v在线观看| 国产精品亚洲d| 久久久久久**毛片大全| 国产真人做爰毛片视频直播 | 亚洲三级在线播放| www,av在线| 欧美人成在线| 国产精品免费区二区三区观看 | 天堂av免费在线观看| 成人p站proumb入口| 亚洲精品一二| 精品欧美日韩在线| 欧亚在线中文字幕免费| 国产视频精品xxxx| 夜夜爽妓女8888视频免费观看| 久久久99久久| 亚洲一区日韩精品| 欧美激情1区2区3区| 国产精品国产精品国产专区不卡| 大桥未久在线视频| 亚洲欧美在线磁力| 亚洲综合精品在线| 亚洲综合激情网| 少妇大叫太粗太大爽一区二区| 日韩经典中文字幕一区| 欧美性受黑人性爽| 欧美绝顶高潮抽搐喷水合集| 国产精品美腿一区在线看| 黄网站在线播放| 精品国内片67194| 国产91精品一区| 国产精品美女久久久久久久久久久| www.国产福利| 亚洲精品色图| 亚洲国产欧洲综合997久久 | 欧美亚洲成人精品| 成人免费在线电影| 日韩一区二区麻豆国产| 日产精品久久久| 国产精品久久久久久亚洲毛片| 国产精品偷伦视频免费观看了| 免费中文字幕日韩欧美| 992tv成人免费观看| 国产99亚洲| 99国产在线观看| 日韩欧美看国产| 久久99视频精品| 激情小视频在线| 欧美成人综合网站| 欧美一区二区三区久久久| 一区二区三区视频在线看| 人妻少妇无码精品视频区| 国产98色在线|日韩| 欧美自拍小视频| 影音先锋中文字幕一区| 香蕉精品视频在线| 国产精品视频一区二区三区四蜜臂| 99高清视频有精品视频| 亚洲精品.com| 国内精品久久久久久影视8| 免费看美女视频在线网站| 亚洲免费电影一区| 欧美 日韩 国产 成人 在线| 欧美肥胖老妇做爰| 狠狠狠狠狠狠狠| 性做久久久久久免费观看欧美| 波多野结衣喷潮| 久久久久国产精品人| 日本天堂在线播放| 国产一区二区精品久久| 亚洲黄色小视频在线观看| 午夜在线精品| 亚洲 欧美 日韩 国产综合 在线| 66视频精品| 一区不卡字幕| 欧洲乱码伦视频免费| 精品在线观看一区二区| 91精品国产自产在线丝袜啪| 91精品中文在线| 国产精品成人国产| 国产精品成人播放| 日韩免费福利视频| 国产精品爱啪在线线免费观看| 蜜桃视频在线观看播放| 97激碰免费视频| 成人影音在线| 久久久久久高潮国产精品视| 日本资源在线| 欧美黑人巨大xxx极品| 女子免费在线观看视频www| 欧美尺度大的性做爰视频| 成码无人av片在线观看网站| 最近2019中文字幕一页二页| 91社区在线观看播放| www.日韩.com| 国产福利在线播放麻豆| 欧美成人精品一区二区| 先锋影音在线资源站91| 欧美日本黄视频| 超碰在线网站| 国产91精品久久久久久久| 亚洲一二三四| 国产精品福利网| 国模私拍国内精品国内av| 成人免费视频在线观看超级碰| 亚瑟国产精品| av在线不卡一区| 麻豆精品少妇| 欧美日韩一区二区三| 日韩精品91| 成人在线观看www| 狠狠入ady亚洲精品经典电影| 亚洲 自拍 另类小说综合图区| 一区二区三区精品视频在线观看| 国产l精品国产亚洲区久久| 久久综合婷婷| 午夜精品免费看| 国产乱一区二区| 好吊色视频一区二区三区| 久久免费午夜影院| 成年人免费视频播放| 一区二区三区国产豹纹内裤在线| 日本熟女一区二区| 91福利视频久久久久| 国产伦精品一区二区三区视频痴汉 | 精品久久久久久乱码天堂| 蜜桃国内精品久久久久软件9| 先锋影音日韩| 欧美日本一区| 日本xxxxxxx免费视频| 韩日av一区二区| 亚州av综合色区无码一区| 欧美激情一二三区| 精品无码m3u8在线观看| 欧美亚洲国产一区二区三区| 99久久亚洲精品日本无码| 日韩电影网在线| 国产午夜精品久久久久免费视| 97视频在线免费观看| 日韩欧国产精品一区综合无码| 国内精品视频免费| 99久久夜色精品国产亚洲96| 夫妻免费无码v看片| 国产精品123| 精品成人无码一区二区三区| 一个色妞综合视频在线观看| 乱子伦一区二区三区| 精品国产亚洲一区二区三区在线观看| 久草福利在线视频| 欧美激情亚洲激情| 欧洲午夜精品| 欧美日韩国产免费一区二区三区| 亚洲免费二区| 午夜久久久精品| 91免费观看在线| 黄色一级片在线免费观看| 欧美色网站导航| 欧美一区二区少妇| 午夜精品久久久久久久白皮肤| 亚瑟国产精品| 亚洲va久久久噜噜噜久久狠狠| 香蕉久久国产| 亚洲婷婷在线观看| 亚洲卡通动漫在线| ,一级淫片a看免费| 在线播放国产一区中文字幕剧情欧美 | 911久久香蕉国产线看观看| 日韩黄色片视频| www.激情成人| 久久免费在线观看视频| 91精品国产入口| 头脑特工队2免费完整版在线观看 头脑特工队2在线播放 | 久久国产精品首页| 狂野欧美性猛交xxxx| 日韩在线三区| 精品久久福利| 免费看成人午夜电影| 在线播放精品| 日本一区二区三区在线免费观看| 国产精品欧美极品| 自拍偷拍色综合| 国产亚洲欧美另类中文| 在线日韩影院| 免费观看成人高| 国产日韩欧美一区| 国产精品无码永久免费不卡| 午夜影院在线观看欧美| 免费观看的毛片| 久久久在线观看| 国产精品一区二区三区美女| 大陆av在线播放| 不卡一区二区在线| 日韩欧美亚洲一区二区三区| 亚洲国产成人91精品| 妞干网免费在线视频| 久久综合毛片| 久久久夜夜夜| 五月婷六月丁香| 欧美日本国产视频| 国产91在线视频蝌蚪| 91九色偷拍| 在线播放一区| 老鸭窝一区二区| 91国偷自产一区二区三区观看| 风间由美一区| 成人激情电影一区二区| 欧美成人亚洲| 亚洲精品乱码久久| 91久久精品一区二区三| 日韩免费啪啪| 99影视tv| 999亚洲国产精| 成年人免费观看视频网站| 欧美日韩亚洲综合在线| 亚洲综合图区| 国产亚洲精品自在久久| 巨乳诱惑日韩免费av| 手机在线免费看片| 亚洲国产精品久久91精品| 欧美大片免费观看网址| 午夜啪啪福利视频| 99re视频精品| 亚洲一区二区色| 欧美激情精品久久久久久久变态| 久久九九热re6这里有精品| 欧洲熟妇精品视频| 亚洲乱码国产乱码精品精可以看 | 国产91精品高潮白浆喷水| 国产一卡不卡| 熟妇女人妻丰满少妇中文字幕|