精品欧美一区二区三区在线观看 _久久久久国色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)

色哟哟入口国产精品| 日韩精品无码一区二区三区| 中文字幕在线不卡一区二区三区| 国内在线免费高清视频| 中文字幕福利视频| 欧美夜福利tv在线| 色哟哟免费视频| 久草在线资源福利站| 久久精品欧美一区二区三区不卡| 国产欧美日韩视频| 久草视频中文在线| 欧洲三级视频| 亚洲第一福利网站| 亚洲国产日韩欧美在线观看| 超碰在线97国产| 中文欧美字幕免费| 亚洲国产wwwccc36天堂| 亚洲欧美国产精品va在线观看| 久在线观看视频| 免费av在线| 久久久久久日产精品| 亚洲一区二区三区成人在线视频精品| 天天操天天摸天天干| 91精品精品| 亚洲香蕉成视频在线观看| 男插女视频网站| 婷婷午夜社区一区| 亚洲午夜激情网站| 99热都是精品| 欧美猛烈性xbxbxbxb| 国产亚洲一区二区三区在线观看| yellow视频在线观看一区二区| 青青国产在线视频| 国产精品久久久免费| 欧美极品少妇xxxxⅹ裸体艺术 | 亚洲成人av片在线观看| 9l视频白拍9色9l视频| av影院在线免费观看| 亚洲一区精品在线| 97在线免费视频观看| 黄色视屏免费在线观看| 国产精品乱码妇女bbbb| 亚洲国产欧美日韩| yiren22亚洲综合伊人22| 久久综合九色综合97婷婷| 国产精品一区二区欧美黑人喷潮水| 国产精品欧美激情在线| 久久国内精品视频| 国产精品久久久久久久久久久不卡| 国产精品999在线观看| 影音先锋亚洲一区| 欧美寡妇偷汉性猛交| 日本青青草视频| 欧美淫片网站| 欧美精品性视频| 青娱乐在线视频免费观看| 一本一本久久a久久综合精品| 丝袜情趣国产精品| 成人欧美一区二区三区黑人一| 国产一区二区三区四区二区 | 国产日韩在线一区二区三区| 亚洲精品喷潮一区二区三区| 成人午夜视频在线观看| 国产免费一区二区三区| 天堂成人在线视频| 2023国产精品| 三区精品视频观看| 最新97超碰在线| 亚洲欧美自拍偷拍| 久久久久福利视频| 狼人综合视频| 在线观看国产日韩| 嫩草视频免费在线观看| 欧美黄色一级| 国产婷婷成人久久av免费高清 | 成人欧美一区二区三区1314| 国产免费xxx| 黄色在线看片| 日本高清无吗v一区| 99国产精品久久久久久| 日韩精品三级| 亚洲精品视频二区| 欧美性生给视频| 女人香蕉久久**毛片精品| 97色在线视频观看| 中文字幕在线日亚洲9| 国产精品一二三四区| 国产伦理久久久| 91网页在线观看| 一区二区三区在线播| 日本免费不卡一区二区| 六九午夜精品视频| 亚洲成人国产精品| 午夜黄色福利视频| 亚洲精一区二区三区| 国产精品2018| 亚洲伦理在线观看| 国产视频911| 久久国产午夜精品理论片最新版本| 欧美特黄aaaaaaaa大片| 69堂亚洲精品首页| 国产精品1000部啪视频| 成人3d精品动漫精品一二三| 欧美激情小视频| 国产午夜麻豆影院在线观看| 国产高清精品网站| 亚洲午夜精品久久| 综合日韩av| 日韩欧美你懂的| 一级特黄曰皮片视频| 亚洲黄色av| 91免费版网站入口| 丁香在线视频| 欧美午夜激情在线| 97中文字幕在线观看| 欧美a级片视频| 国产97在线|日韩| 欧美熟妇另类久久久久久不卡| 国产精品系列在线| 免费观看日韩毛片| 精品人人人人| 欧美高清视频在线| 国产免费一区二区三区最新不卡| 久久久.com| 日韩欧美一区二| 大奶一区二区三区| 久久福利网址导航| 国产精品伦一区二区三区| 久久蜜桃香蕉精品一区二区三区| 日本免费a视频| 欧美专区视频| 久久综合色影院| 国产又粗又长又黄| 国产精品乱子久久久久| 中文字幕在线观看第三页| 色婷婷久久久| 97久久精品视频| 黄色av网址在线| 亚洲综合在线免费观看| 成年人看片网站| 中文字幕一区二区三区在线视频| 国产一区香蕉久久| 色影视在线观看| 欧美又粗又大又爽| 先锋影音av在线| 日韩和欧美的一区| 亚洲国产精品综合| 亚洲伊人伊成久久人综合网| 日韩在线观看成人| 97人妻精品一区二区三区软件| 中文字幕精品三区| 国产探花在线看| 中文字幕免费一区二区三区| 亚洲永久在线观看| 精灵使的剑舞无删减版在线观看| 日韩欧美在线综合网| 久久久综合久久久| 9人人澡人人爽人人精品| 黄色一级在线视频| 亚洲色图丝袜| 国产精品精品久久久| 国产高清视频在线观看| 欧美日韩一区二区三区在线看| 亚洲综合久久av一区二区三区| 国内精品伊人久久久久av影院| 五月天色婷婷综合| 一区二区亚洲视频| 午夜精品久久久久久久久久久久 | 久久久久青草大香线综合精品| 国产第一页视频| 日韩欧美国产精品综合嫩v| 国产欧美一区二区| 欧美xxxx少妇| 国产丝袜一区二区| 一级aaaa毛片| 亚洲成人av一区二区| 中文字幕在线看高清电影| 麻豆freexxxx性91精品| 特色特色大片在线| 人人精品视频| 91色在线观看| 欧美少妇精品| 俺去亚洲欧洲欧美日韩| 成人免费观看在线视频| 色噜噜狠狠成人网p站| 国产性生活大片| 99精品1区2区| 午夜精品久久久久久久99热影院| 亚洲午夜电影| 日韩亚洲不卡在线| 综合中文字幕| 国产精品高潮呻吟视频| 久操av在线| 综合国产在线观看| 国产成人三级在线观看视频| 欧洲视频一区二区| 亚洲国产精一区二区三区性色| 日本一区二区三区四区| 色悠悠在线视频| 久久草av在线| 激情五月开心婷婷| 欧美激情五月| 亚洲成色www久久网站| 91午夜精品| 国产日韩精品在线观看| 日产福利视频在线观看| 久久人人爽人人爽爽久久| 欧美日韩免费做爰大片| 欧美精品一区二区三区蜜桃| 中文字幕在线观看精品| 欧美日韩在线另类| 久艹视频在线观看| 国产精品久久久久三级| 在线免费观看麻豆| 不卡一卡二卡三乱码免费网站| 在线观看免费的av| 久久综合导航| 亚洲熟妇国产熟妇肥婆| 国产精品大片| 亚洲黄色网址在线观看| 日韩精品久久| 日韩福利视频| 九九视频免费观看视频精品| 国产偷国产偷亚洲高清97cao| 国产精品一区二区美女视频免费看| 日本电影亚洲天堂| av不卡高清| 欧美激情精品久久久久| 久久精品视频观看| 日韩在线免费av| eeuss影院www在线观看| 亚洲欧美国产精品| 嫩草在线播放| 亚洲欧美中文日韩v在线观看| 亚洲 欧美 精品| 亚洲精品在线一区二区| 性欧美18一19性猛交| 7878成人国产在线观看| 91国内精品视频| 欧美午夜在线观看| 中文字幕有码无码人妻av蜜桃| 色天天综合久久久久综合片| 中文在线第一页| 欧美性猛交xxxx乱大交| 国产91国语对白在线| 一本到不卡精品视频在线观看| 亚洲精品成人在线视频| 日韩欧美视频一区二区三区| 日本熟女毛茸茸| 日本精品视频一区二区| 中文字幕乱码无码人妻系列蜜桃| 91精品福利视频| 亚洲天堂一二三| 3d动漫精品啪啪一区二区竹菊 | 日韩毛片在线播放| 精品久久久久久久久久| 日本三级一区二区| 狠狠综合久久av一区二区小说| 激情五月色婷婷| 色老汉av一区二区三区| 怡红院男人天堂| 欧美久久久久免费| 国产黄色片av| 亚洲国产精品久久久久秋霞蜜臀| 深夜福利在线观看直播| 国产亚洲精品91在线| 日本亚洲精品| 欧美大秀在线观看| 中文字幕在线直播| 国产美女91呻吟求| 国产一精品一av一免费爽爽| 国产精品一区二区你懂得| 一本久久青青| 国产精品美女在线播放| 亚洲婷婷免费| 国产成人综合一区| 狠狠狠色丁香婷婷综合激情 | 国产一区二区三区电影在线观看 | av手机在线观看| 国产精品99久久久久久www| 99re8精品视频在线观看| 国产精品v欧美精品∨日韩| 欧美美女在线| www.-级毛片线天内射视视| 亚洲福利专区| 激情视频免费网站| 成人在线一区二区三区| 亚洲一区二区自偷自拍 | 日韩不卡在线播放| 欧美精品国产精品| 亚洲 欧美 自拍偷拍| 日韩在线观看免费高清| free性护士videos欧美| 国产精品欧美亚洲777777| 91精品国产自产精品男人的天堂| 蜜桃久久精品乱码一区二区 | 久久中文字幕一区| 无码小电影在线观看网站免费| 国产精品稀缺呦系列在线| 粉嫩的18在线观看极品精品| 亚洲国产一区二区三区在线| 亚洲日韩视频| 国产探花在线观看视频| 久久久久久一级片| 国产精品第九页| 欧美放荡的少妇| 经典三级在线| 国内精品久久久久久中文字幕| 日本久久一区| 日韩av高清| 日韩午夜免费视频| 美女被艹视频网站| 国产丝袜美腿一区二区三区| 日本一本高清视频| 欧美一区国产二区| 高清中文字幕一区二区三区| 韩国精品久久久999| 精品国产第一国产综合精品| 色一情一乱一伦一区二区三区 | 日本啊v在线| 欧美激情videos| 3d动漫一区二区三区在线观看| 日韩精品资源| 久久精品首页| 成人手机在线免费视频| 亚洲综合色婷婷| 国产又大又黑又粗| 最近2019中文字幕一页二页| www.成人爱| 就去色蜜桃综合| 99视频一区| 在线观看国产免费视频| 一区二区三区免费| jizz国产视频| 欧美成人在线免费| 欧美a级大片在线| www.黄色网址.com| 国产在线观看免费一区| 北条麻妃在线观看视频| 欧美日韩国产免费| 日本免费在线观看| 国产欧美在线播放| 99久久www免费| 日本精品一区在线| 亚洲精品一卡二卡| 国产18精品乱码免费看| 欧美精品九九久久| 国产精品极品| 久久久亚洲精品无码| 91蜜桃传媒精品久久久一区二区| 日本视频免费在线| 日韩国产精品视频| 在线精品亚洲欧美日韩国产| 欧美日韩喷水| 久久国产精品区| 久久高清内射无套| 精品国产一区二区三区忘忧草 | 在线看日本不卡| 成人77777| 成人乱色短篇合集| 欧美日韩国产在线一区| 久久精品女同亚洲女同13| 欧美性生交xxxxxdddd| 日av在线播放| 国产精品无码专区在线观看| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 国产亚洲一区二区三区不卡| 粉色视频免费看| 夜夜嗨av一区二区三区网页 | 97精品人妻一区二区三区香蕉| 久久亚洲欧美日韩精品专区 | 精品一区二区三区香蕉蜜桃| 日韩成人毛片视频| 亚洲国产99精品国自产| 日本韩国欧美| 日本不卡一区二区三区四区| 成人性生交大片免费| 波多野结衣二区三区| 久久久97精品| 奇米影视777在线欧美电影观看| 已婚少妇美妙人妻系列| 综合网在线视频| 天天操天天射天天舔| 国产精品久久久久免费a∨| 希岛爱理一区二区三区| 中文字幕在线视频播放| 欧美系列在线观看| 黄色成人在线网| 色就是色欧美| 成人激情文学综合网| 中文字幕有码无码人妻av蜜桃| 久久久久久国产三级电影| 久草精品在线| 久久久久亚洲AV成人网人人小说| 在线亚洲一区二区| 操喷在线视频| 天天干天天色天天爽| 久久网站热最新地址| 国产成人免费看一级大黄| 日本欧美爱爱爱|