国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

ConstraintLayout使用場(chǎng)景必知必會(huì)

共 3542字,需瀏覽 8分鐘

 ·

2021-01-29 12:19

ConstraintLayout的布局優(yōu)越性已經(jīng)不用再?gòu)?qiáng)調(diào)了,通過(guò)ConstraintLayout的約束思想,可以很方便的解決一些之前需要寫(xiě)很復(fù)雜的動(dòng)態(tài)代碼才能完成的效果。

早在2016年,我就已經(jīng)逐漸將項(xiàng)目中的布局進(jìn)行約束化,采用ConstraintLayout來(lái)替換原有布局,同時(shí)對(duì)ConstraintLayout的基礎(chǔ)使用,進(jìn)行了總結(jié),感興趣的入門(mén)開(kāi)發(fā)者可以參考下面的文章。

https://blog.csdn.net/eclipsexys/article/details/52609367

國(guó)際慣例,官網(wǎng)鎮(zhèn)樓,這是入門(mén)ConstraintLayout最好的資料。

https://developer.android.com/training/constraint-layout?hl=zh-cn

當(dāng)然,ConstraintLayout并不是解決所有布局問(wèn)題的銀彈,在下面的這些場(chǎng)景下使用,可以算得上ConstraintLayout的最佳實(shí)踐,可以達(dá)到事半功倍的效果。

固定比例視圖

考慮下面這個(gè)場(chǎng)景,組件寬度撐滿屏幕,高度按「寬度x固定比例」計(jì)算。

這樣的布局,在以往的布局方式下,都需要通過(guò)動(dòng)態(tài)計(jì)算后修改高度來(lái)實(shí)現(xiàn),但是通過(guò)ConstraintLayout,則可以直接在XML中實(shí)現(xiàn)。

????android:layout_width="match_parent"
????android:layout_height="@dimen/length_0"
????app:layout_constraintDimensionRatio="1:0.34"
????app:layout_constraintStart_toStartOf="parent"
????app:layout_constraintTop_toTopOf="parent"?/>

通過(guò)DimensionRatio,可以很方便的實(shí)現(xiàn)比例視圖的控制,同時(shí),比例可以設(shè)置的很靈活,滿足各種條件的需要。

N等分布局

常見(jiàn)的N等分布局,例如三等分布局,通常都需要進(jìn)行動(dòng)態(tài)計(jì)算,根據(jù)屏幕寬度,減去間距后得到每部分的寬度,再動(dòng)態(tài)設(shè)置給每個(gè)元素,而通過(guò)ConstraintLayout,則可以直接實(shí)現(xiàn)這樣的效果。

"1.0"?encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
????xmlns:app="http://schemas.android.com/apk/res-auto"
????xmlns:tools="http://schemas.android.com/tools"
????android:layout_width="match_parent"
????android:layout_height="wrap_content"
????android:layout_marginLeft="@dimen/length_16"
????android:layout_marginRight="@dimen/length_16">

????????????android:id="@+id/bookCover1"
????????android:layout_width="0dp"
????????android:layout_height="0dp"
????????app:layout_constraintDimensionRatio="0.74:1"
????????app:layout_constraintEnd_toStartOf="@+id/bookCover2"
????????app:layout_constraintHorizontal_chainStyle="spread_inside"
????????app:layout_constraintStart_toStartOf="parent"
????????app:layout_constraintTop_toTopOf="parent"
????????app:layout_constraintWidth_percent="0.30"
????????tools:srcCompat="@tools:sample/avatars"?/>

????????????android:id="@+id/bookCover2"
????????android:layout_width="0dp"
????????android:layout_height="0dp"
????????android:visibility="invisible"
????????app:layout_constraintDimensionRatio="0.74:1"
????????app:layout_constraintEnd_toStartOf="@+id/bookCover3"
????????app:layout_constraintStart_toEndOf="@+id/bookCover1"
????????app:layout_constraintTop_toTopOf="@+id/bookCover1"
????????app:layout_constraintWidth_percent="0.30"
????????tools:srcCompat="@tools:sample/avatars"?/>

????????????android:id="@+id/bookCover3"
????????android:layout_width="0dp"
????????android:layout_height="0dp"
????????app:layout_constraintDimensionRatio="0.74:1"
????????app:layout_constraintEnd_toEndOf="parent"
????????app:layout_constraintStart_toEndOf="@+id/bookCover2"
????????app:layout_constraintTop_toTopOf="@+id/bookCover2"
????????app:layout_constraintWidth_percent="0.30"
????????tools:srcCompat="@tools:sample/avatars"?/>


效果如下圖所示。

image-20201231134812154

這其中的間距,主要是通過(guò)layout_constraintWidth_percent來(lái)設(shè)置在當(dāng)前容器尺寸下所占百分比來(lái)進(jìn)一步約束大小。

如果去掉這個(gè)屬性,那么會(huì)直接等分父容器尺寸。

image-20201231135224309

另外,還可以通過(guò)layout_constraintHorizontal_weight屬性來(lái)控制類(lèi)似LinearLayout的weight屬性的效果,實(shí)現(xiàn)按權(quán)重進(jìn)行分配。

image-20201231135427254

復(fù)雜的元素相對(duì)居中

在整個(gè)View中,針對(duì)某個(gè)固定元素,其它的元素圍繞它做的各種對(duì)齊方式,在之前是很難直接完成的,即使是使用-margin的方式,也很難實(shí)現(xiàn)動(dòng)態(tài)可變尺寸的居中,而在ConstraintLayout中,這就變得很簡(jiǎn)單了。

image-20201231140237564

代碼就不貼了,ConstraintLayout基操。

百分比對(duì)齊

在ConstraintLayout中,雖然不能使用-margin的方式來(lái)完成傳統(tǒng)布局中的一些錯(cuò)位的效果,但是可以借助Space來(lái)實(shí)現(xiàn)類(lèi)似的功能,例如借助Space來(lái)實(shí)現(xiàn)左邊TextView在右邊TextView某一百分比(或者是dp)對(duì)齊的場(chǎng)景。

image-20201231144811750

代碼如下所示。

"1.0"?encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
????xmlns:app="http://schemas.android.com/apk/res-auto"
????xmlns:tools="http://schemas.android.com/tools"
????android:layout_width="match_parent"
????android:layout_height="match_parent">

????????????android:id="@+id/textView2"
????????android:layout_width="200dp"
????????android:layout_height="wrap_content"
????????android:layout_marginTop="32dp"
????????android:layout_marginEnd="32dp"
????????android:background="#bebebe"
????????android:text="TextView"
????????app:layout_constraintEnd_toEndOf="parent"
????????app:layout_constraintTop_toTopOf="parent"?/>

????????????android:id="@+id/space"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????app:layout_constraintEnd_toEndOf="@+id/textView2"
????????app:layout_constraintHorizontal_bias="0.2"
????????app:layout_constraintStart_toStartOf="@+id/textView2"
????????tools:layout_editor_absoluteY="68dp"?/>

????????????android:id="@+id/textView3"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:text="TextView"
????????app:layout_constraintEnd_toStartOf="@+id/space"
????????tools:layout_editor_absoluteY="92dp"?/>
????

由于ConstraintLayout不支持-Margin,所以很多場(chǎng)景下,我們都可以借助Space等輔助元素來(lái)實(shí)現(xiàn)中轉(zhuǎn),完成傳統(tǒng)布局下通過(guò)-Margin實(shí)現(xiàn)的效果。

角度布局

通過(guò)角度的方式來(lái)對(duì)元素進(jìn)行排列,在傳統(tǒng)布局中,只能通過(guò)FrameLayout,并通過(guò)動(dòng)態(tài)計(jì)算的方式,將角度換算為邊距的方式來(lái)布局,但通過(guò)ConstraintLayout,則變的非常簡(jiǎn)單。

"1.0"?encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
????xmlns:app="http://schemas.android.com/apk/res-auto"
????android:layout_width="match_parent"
????android:layout_height="match_parent">

????????????android:id="@+id/textView1"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:text="Center"
????????app:layout_constraintBottom_toBottomOf="parent"
????????app:layout_constraintEnd_toEndOf="parent"
????????app:layout_constraintStart_toStartOf="parent"
????????app:layout_constraintTop_toTopOf="parent"?/>

????????????android:id="@+id/textView2"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:text="30"
????????app:layout_constraintBottom_toTopOf="@+id/textView1"
????????app:layout_constraintCircle="@id/textView1"
????????app:layout_constraintCircleAngle="30"
????????app:layout_constraintCircleRadius="100dp"
????????app:layout_constraintStart_toEndOf="@+id/textView1"?/>

????????????android:id="@+id/textView3"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:text="60"
????????app:layout_constraintBottom_toTopOf="@+id/textView1"
????????app:layout_constraintCircle="@id/textView1"
????????app:layout_constraintCircleAngle="60"
????????app:layout_constraintCircleRadius="100dp"
????????app:layout_constraintStart_toEndOf="@+id/textView1"?/>

????????????android:id="@+id/textView4"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:text="90"
????????app:layout_constraintBottom_toTopOf="@+id/textView1"
????????app:layout_constraintCircle="@id/textView1"
????????app:layout_constraintCircleAngle="90"
????????app:layout_constraintCircleRadius="100dp"
????????app:layout_constraintStart_toEndOf="@+id/textView1"?/>


image-20201231141025307

這種布局的方式,涉及的屬性如下。

layout_constraintCircleAngle
layout_constraintCircleRadius
layout_constraintStart_toEndOf

通過(guò)這幾個(gè)屬性就可以很方便的按照角度坐標(biāo)來(lái)進(jìn)行布局。

整體居中

通過(guò)Chain可以實(shí)現(xiàn)多個(gè)元素在邊緣約束的場(chǎng)景下居中的效果,如圖所示。

image-20201231141433244

這也是ConstraintLayout基操,不細(xì)說(shuō)了。

超長(zhǎng)限制強(qiáng)制約束

考慮下面這個(gè)場(chǎng)景,最下面的TextView最大不會(huì)超過(guò)第一個(gè)TextView的寬度。

image-20201231143217743
"1.0"?encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
????xmlns:app="http://schemas.android.com/apk/res-auto"
????android:layout_width="match_parent"
????android:layout_height="match_parent">

????????????android:id="@+id/textView2"
????????android:layout_width="300dp"
????????android:layout_height="wrap_content"
????????android:layout_marginTop="32dp"
????????android:text="TextView"
????????app:layout_constraintEnd_toEndOf="parent"
????????app:layout_constraintStart_toStartOf="parent"
????????app:layout_constraintTop_toTopOf="parent"?/>

????????????android:id="@+id/textView3"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginTop="32dp"
????????android:ellipsize="end"
????????android:singleLine="true"
????????android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView"
????????app:layout_constrainedWidth="true"
????????app:layout_constraintEnd_toEndOf="@+id/textView2"
????????app:layout_constraintHorizontal_bias="0.0"
????????app:layout_constraintStart_toStartOf="@+id/textView2"
????????app:layout_constraintTop_toBottomOf="@+id/textView2"?/>
????

效果如下所示。

image-20201231143324612

這時(shí)候就需要通過(guò)使用constrainedWidth來(lái)使其寬度約束強(qiáng)制生效。

類(lèi)似的,再考慮下面這個(gè)場(chǎng)景。

image-20201231143946634

當(dāng)?shù)诙€(gè)TextView文字超長(zhǎng)的時(shí)候,希望它截?cái)啵粫?huì)影響左右的TextView。這個(gè)場(chǎng)景非常常用,在很多業(yè)務(wù)場(chǎng)景下都會(huì)使用到這樣的功能,傳統(tǒng)布局下,只能在布局時(shí)動(dòng)態(tài)計(jì)算文字寬度來(lái)進(jìn)行動(dòng)態(tài)修改,但通過(guò)ConstraintLayout,則可以非常方便的實(shí)現(xiàn)。

"1.0"?encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
????xmlns:app="http://schemas.android.com/apk/res-auto"
????android:layout_width="match_parent"
????android:layout_height="match_parent">

????????????android:id="@+id/textView4"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginStart="32dp"
????????android:layout_marginTop="32dp"
????????android:text="TextView"
????????app:layout_constraintEnd_toStartOf="@+id/textView5"
????????app:layout_constraintHorizontal_bias="0.0"
????????app:layout_constraintHorizontal_chainStyle="packed"
????????app:layout_constraintStart_toStartOf="parent"
????????app:layout_constraintTop_toTopOf="parent"?/>

????????????android:id="@+id/textView5"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginStart="16dp"
????????android:layout_marginEnd="16dp"
????????android:ellipsize="end"
????????android:singleLine="true"
????????android:text="TextView"
????????app:layout_constrainedWidth="true"
????????app:layout_constraintEnd_toStartOf="@+id/textView6"
????????app:layout_constraintHorizontal_bias="0.5"
????????app:layout_constraintStart_toEndOf="@+id/textView4"
????????app:layout_constraintTop_toTopOf="@+id/textView4"?/>

????????????android:id="@+id/textView6"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginEnd="32dp"
????????android:text="TextView"
????????app:layout_constraintEnd_toEndOf="parent"
????????app:layout_constraintHorizontal_bias="0.5"
????????app:layout_constraintStart_toEndOf="@+id/textView5"
????????app:layout_constraintTop_toTopOf="@+id/textView5"?/>
????

image-20201231144005478

多組件協(xié)同約束

考慮下面這個(gè)場(chǎng)景,多個(gè)組件的寬度不定,需要取最大寬度的組件在布局中展示,例如下面這個(gè)例子。

Email和Password兩個(gè)TextView的寬度可能因?yàn)槲淖值牟灰粯佣煌枰麄冋w取最大寬度后,與右邊元素進(jìn)行對(duì)齊,如下所示。

image-20210127161500403

這時(shí)候,就需要使用Barrier。Barrier可以理解為一個(gè)柵欄,Barrier和Group一樣,通過(guò)constraint_referenced_ids來(lái)組合需要作用的組件,代碼如下。

"1.0"?encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
????xmlns:app="http://schemas.android.com/apk/res-auto"
????xmlns:tools="http://schemas.android.com/tools"
????android:layout_width="match_parent"
????android:layout_height="wrap_content">

????????????android:id="@+id/email"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginBottom="8dp"
????????android:textSize="24sp"
????????app:layout_constraintBottom_toTopOf="@+id/password"
????????app:layout_constraintStart_toStartOf="@+id/password"
????????app:layout_constraintTop_toTopOf="parent"
????????app:layout_constraintVertical_chainStyle="packed"
????????tools:text="E-mail?Address"?/>

????????????android:id="@+id/emailInput"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginStart="8dp"
????????android:ems="10"
????????android:inputType="textEmailAddress"
????????android:text="[email protected]"
????????app:layout_constraintBaseline_toBaselineOf="@+id/email"
????????app:layout_constraintStart_toEndOf="@+id/barrier"?/>

????????????android:id="@+id/password"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginTop="8dp"
????????android:text="Password"
????????android:textSize="24sp"
????????app:layout_constraintBottom_toBottomOf="parent"
????????app:layout_constraintTop_toBottomOf="@+id/email"
????????tools:layout_editor_absoluteX="11dp"?/>

????????????android:id="@+id/passwordInput"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????android:layout_marginStart="8dp"
????????android:ems="10"
????????android:inputType="textPassword"
????????android:text="666666"
????????app:layout_constraintBaseline_toBaselineOf="@+id/password"
????????app:layout_constraintStart_toEndOf="@+id/barrier"?/>

????????????android:id="@+id/barrier"
????????android:layout_width="wrap_content"
????????android:layout_height="wrap_content"
????????app:barrierDirection="right"
????????app:constraint_referenced_ids="email,password"?/>


其中barrierDirection設(shè)置為right,即右側(cè)不超過(guò)Barrier,再讓剩余組件與Barrier進(jìn)行約束即可。

容器約束下的邊界約束

考慮下面這個(gè)場(chǎng)景,中間的TextView被約束在兩邊的組件中,如下所示。

image-20201231145935870
"1.0"?encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
????xmlns:app="http://schemas.android.com/apk/res-auto"
????xmlns:tools="http://schemas.android.com/tools"
????android:layout_width="match_parent"
????android:layout_height="match_parent">

????????????android:id="@+id/textView4"
????????android:layout_width="wrap_content"
????????android:layout_height="100dp"
????????android:layout_marginStart="32dp"
????????android:layout_marginTop="32dp"
????????android:background="#bebebe"
????????android:text="TextView"
????????app:layout_constraintStart_toStartOf="parent"
????????app:layout_constraintTop_toTopOf="parent"?/>

????????????android:id="@+id/textView5"
????????android:layout_width="wrap_content"
????????android:layout_height="100dp"
????????android:layout_marginTop="32dp"
????????android:layout_marginEnd="32dp"
????????android:background="#bebebe"
????????android:text="TextView"
????????app:layout_constraintEnd_toEndOf="parent"
????????app:layout_constraintTop_toTopOf="parent"?/>

????????????android:id="@+id/textView6"
????????android:layout_width="0dp"
????????android:layout_height="wrap_content"
????????android:layout_marginStart="16dp"
????????android:layout_marginEnd="16dp"
????????android:text="TextViewTextViewTextViewTextViewTextViewTextView"
????????app:layout_constraintEnd_toStartOf="@+id/textView5"
????????app:layout_constraintStart_toEndOf="@+id/textView4"
????????tools:layout_editor_absoluteY="73dp"?/>


在個(gè)例子的重點(diǎn)是將layout_width設(shè)置為0dp,即MATCH_CONSTRAINT,即可實(shí)現(xiàn)這樣的效果。

下面進(jìn)一步思考下這個(gè)場(chǎng)景。

當(dāng)TextView文字較少時(shí),可以發(fā)現(xiàn)其尺寸是默認(rèn)占據(jù)了整個(gè)約束空間,這時(shí)候,如果要求TextView只顯示文字大小,類(lèi)似設(shè)置wrap_content的效果,但是在文字長(zhǎng)的時(shí)候,又必須被邊緣約束,所以又不能設(shè)置wrap_content,這種場(chǎng)景下,可以通過(guò)layout_constraintWidth_default屬性來(lái)解決,它提供了邊緣約束下默認(rèn)的尺寸設(shè)置方式。

前面說(shuō)的類(lèi)似wrap_content的效果,就可以使用wrap來(lái)設(shè)置。

app:layout_constraintWidth_default="wrap"
image-20201231151918340

當(dāng)然,不設(shè)置這個(gè)屬性,將TextView的寬度設(shè)置為wrap_content,也是可以實(shí)現(xiàn)這個(gè)效果的,這就需要使用到前面講的constrainedWidth屬性了。

layout_constraintWidth_default的默認(rèn)值為spread,即占據(jù)邊緣約束下的所有空間。

總結(jié)

ConstraintLayout的學(xué)習(xí)曲線比較陡峭,入門(mén)很簡(jiǎn)單,想要寫(xiě)好,卻是很難的,大部分的開(kāi)發(fā)者在經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)后,都可以上手進(jìn)行布局,但是遇到一些比較復(fù)雜的業(yè)務(wù)場(chǎng)景時(shí),就很難將ConstraintLayout的這些特性融會(huì)貫通了,所以,使用ConstraintLayout,有下面這些準(zhǔn)則。

  • 找準(zhǔn)布局基準(zhǔn)元素,一般是界面的固定不變的業(yè)務(wù)元素,其它組件,根據(jù)其約束來(lái)進(jìn)行布局
  • 使用Group等虛擬布局組件來(lái)簡(jiǎn)化布局代碼
  • 對(duì)ConstraintLayout的特性需要掌握熟練,特別是上面這些場(chǎng)景,需要手到擒來(lái)
  • 修改ConstraintLayout時(shí),先理清約束關(guān)系再下手,避免上手就拖組件,導(dǎo)致剪不斷理還亂

再次重申,ConstraintLayout并不是Android布局的銀彈,合適的場(chǎng)景選擇合適的布局方式,才是最重要的。


向大家推薦下我的網(wǎng)站?https://xuyisheng.top/??點(diǎn)擊原文一鍵直達(dá)

專(zhuān)注 Android-Kotlin-Flutter 歡迎大家訪問(wèn)


瀏覽 73
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 久久久国产一区二区三区| 中文字幕无码在线播放| 亚洲国产精品一区二区三区| 国产成人精品免费看视频| 大奶AV| 成人免费版欧美州| 安微妇搡BBBB搡BBBB日| 黄片无码免费观看| 97人人干| 一级AV在线| 熟练中出-波多野结衣| 中文字幕中文字幕一区| 97国产精品久久| 精品久久久国产| 国产小视频在线观看| 日韩加勒比在线| 国产欧美精品一区二区色综合| 肏少妇女情人大骚逼直播一区二区| 一区二区三区四区av| 亚洲无码一级| 久久久www成人免费毛片| 色婷婷国产精品综合在线观看| 123操逼| 北条麻妃九九九在线视频| 中文无码一区二区三区| 亚卅毛片| 综合久久亚洲| 色aV牛牛在线观看| 亚洲人成电影网| 人人澡人人看| 四虎成人精品永久免费AV九九 | 国产69久久精品成人看| 中文字幕无码在线视频| 777米奇视频| 精品人妻二区中文字幕| 久久婷婷青青| 日韩AV中文字幕在线| 手机AV网站| 国产丝袜在线视频| 4444操| 狼人一区二区| 亚洲国产三级| 九九韩剧网最新电视剧免费观看| 91香蕉视频18| 闺蜜AV| 久久精品一区二区三区蜜芽的特点| 久久久电影| 国产8区| 日韩无码人妻一区二区三区 | 国产成人无码精品久在线观看| 日韩中文字幕有码| 国产白浆一区二区三区| 欧美三P囗交做爰XXXⅩ| 日韩在线国产| 中文无码熟妇人妻AV在线| 男人的天堂视频在线| 五月丁香成人网| 中文字幕免费毛片| 水果派解说在线观看| 91理伦| 99久久视频| 欧美久久一区| 无码不卡视频| 91久久精品无码一区| 黑人粗暴偷拍一区二区| 国产三级小视频| 久久无码免费| 先锋影音麻豆| 国产—级a毛—a毛免费视频| 日韩高清无码电影| 国产成人69| 亚洲操操操| 无码电影免费观看| 香蕉黄色三级片| 三上悠亚无码破解69XXX| 青娱在线视频| 成人av一区| 玩弄大荫蒂视频| 强伦轩农村人妻| 日韩AV高清无码| 国产精品免费av在线| 成人高清无码视频| 1024手机在线视频| 无码精品人妻一区二区三刘亦菲| 爱搞搞爱干干| av一区二区三区| 国产尤物视频| 午夜操B| 特级无码| 成人免费看A片| 久色无码| 亚洲精品一区二区三| 欧美色色综合| 蜜臀久久99精品久久久巴士| 影音先锋AV在线资源| 一本色道久久综合狠狠躁| 免费A片国产毛无码A片| 无码人妻一区二区三区在线视频不卡 | v天堂在线观看| 三个黑人猛躁我一晚上| 精品人妻人人操| 色男人色天堂| www.91com| 亚洲国产成人精品激情在线 | 成人一二区| 亚洲一区二区三| 色哟哟无码精品一区二区三区| 亚洲二区后入极品| 国产精品一区二区性色AV| P站免费版-永久免费的福利视频平台 | www.黄色片| 日本三区视频| 亚洲猛男操逼欧美国产视频| 欧美成人三级| 成人免费在线电影| 欧美性之站| 大香蕉网视频| 亚洲精品国偷拍自产在线观看蜜桃 | AV第一福利大全导航| 北条麻妃无码精品AV怎么看| 激情动态视频| 玖玖爱在线精品视频| 国产人妻精品一区二区三区不卡| 拍拍视频| 欧美性夜黄A片爽爽免费视频| 天天日天天草天天干| 丁香五月少妇| 国产永久免费| 精品人妻二区三区蜜桃| 操B图| www.黄色| 91成人视频在线播放| 国产精品自拍三级| 成人做爰100片免费着| 国产又爽又黄免费观看视频| 日本韩国无码| 日本色电影在线观看| 国产超级无码高清在线视频观看| 欧美日日| 国产激情在线播放| 特级艺体西西444WWw| 无码人妻一区二区三一区免费n狂飙| 在线观看av网站中文字幕| 欧美sese| 亚洲精品中文字幕乱码三区91| 午夜激情国产| 亚洲福利一区二区| 69无码| 亚洲有码在线播放| 亚洲区中文字幕| 久久久精品中文字幕麻豆发布| se99av| 四川少妇搡bbbbb搡多人| 天堂网2014| 午夜视频免费| 欧美在线操| 日本黄A级A片国产免费| 97超碰碰| 中文字幕网址在线| 亚州av| 成人精品秘免费波多野结衣| 在线一区视频| 囯产伦精一区二区三区四区| 国产三四区久久| 嫩草亚洲小泬久久夂| 成人免看一级a一片A片| 精品一区国产| 国产中文字幕免费| 丰满人妻一区二区三区精品高清| 国产成人无码区免费视频| 久操综合| 精品人无码一区二区三区下载| 国产日韩欧美一区二区| 成人久久| 亚洲综合一区二区| 中文无码一区| 微熟女地址导航| 亚洲日韩在线中文字幕| 中文字幕乱码视频| 成人777777| 久久99精品国产.久久久久| 黄色在线网站| 特级黄色毛片| 国产无码激情| 国产又色又爽又黄又免费| 天天综合天天| 国产精品成人免费| 免费aaa| 毛片天堂| 97色色得| 国产AV自拍-久| 夜夜骚AV一二三区无码| 免费看欧美成人A片无码| 免费婷婷| 超碰啪啪| 亚洲欧美日韩一区| 亚洲欧美日韩色图| 五月天丁香网| 成人久久av| 欧美福利在线观看| 国产黄色自拍| 豆花视频在线免费观看| 欧美成人A片AAA片在线播放| 霸道总裁雷总各种姿势白浆爱情岛论坛 | 成人无码区免费AV毛片| 99精品在线免费观看| 欧美操逼视频网站| 亚洲免费三级| 日韩精品成人无码免费| 99国产精品免费视频观看8| 在线免费观看无码| 熟妇人妻丰满久久久久久久无码 | 91精品婷婷国产综合久久蝌蚪| 中文字幕国产在线观看| 豆花视频在线免费观看| 色资源在线观看| 欧美粗大| 欧美高清一级| 91看片看婬黄大片Videos| 精品啪啪| 亚洲AV无码乱码国产精品黑人| 欧美狠狠插| 欧美一级黃色A片免费看蜜桃熟了 一级a一级a免费观看免免黄‘/ | 日韩a| 五月天黄色电影| 国产又粗又长的视频| 撸一撸在线视频| 成人国产综合| 亚洲黄色无码| 日韩乱伦小说| 四虎网站| 久久电影五月天| 成人av小说网站| 懂色在线精品分类视频| 国产乱码| 亚洲精品18在线观看| 天天毛片| 中文字幕日韩美| 北条麻妃99精品青青久久| gogogo日本免费观看高清电视剧的注意| 俺也来最新色视频| 欧美亚洲日韩一区二区| 五月天婷婷久久| av青青草| 人人澡人人添人人爽人人| 老熟女露脸25分钟91秒| 欧美草逼| 成人一级精品| 天天谢天天干| 中文字幕无码综合| 操逼超碰| 国内自拍偷拍视频| 国产精品无码专区AV免费播放 | 九色首页| 日本特黄AA片免费视频| 人人妻人人爱人人操| 中文在线字幕电视剧免费平台| 最近中文字幕免费| 狼人综合网| 黑丝一区| 高潮91PORN蝌蚪九色| 日韩无码AV中文字幕| 久久久久极品| 91色综合| 无码人妻av黄色一区二区三区| 婷婷久久综合久色| 无码专区在线看v| 国产精品黄视频| av官网| 黄色视频毛片| 中文字幕精品无码一区二区| 天天日天天操天天射| 日本欧美久久久久免费播放网| 九九性视频| 久久久久女人精品毛片九一| 北条麻妃波多波多野结衣| 精品在线第一页| 污视频免费在线观看| 一级免费毛片| 亚洲伦理一区二区| 国产成人在线视频免费| 婷婷无码在线| 精品在线免费视频| 雾水情缘电影港片| 99久久久久久久久久| 成人在线一区二区三区| 熟妇人妻丰满久久久久久久无码| 午夜黄色电影| 2025中文在线观看最好看的电影 | 水蜜桃成人在线| 77777精品成人免费A片| 91无码人妻一区二区成人AⅤ| 午夜操逼视频| 国产性交网站| 一本之道DVD不卡视频| 99久久夜色精品国产亚洲| 激情五月天影院| 国产精品自拍视频| av影音先锋| 99操逼网| 亚洲69视频| 青春草视频| 91成全在线| 亚洲男人的天堂网| 中文在线观看视频| 少妇人妻偷人精品无码视频新浪 | 在线观看免费欧美操逼视频| 91影音先锋| 久久丝袜视频| 手机AV在线| 国产日韩91| 日本成人高清视频| 成人无码免费| xxx久久| 夜夜骑天天| 成人免费毛片蓝莓| 狠狠色婷婷| 成人操b视频| 亚洲中文久久| 无码国产精品一区二区免费式直播 | 丰滿人妻一区二区三| 99久久99九九九99九他书对| 国产在线小视频| 性爱xxxxx| 露脸老熟女91集合| 殴美老妇BBBBBBBBB| 精品免费黄色视频| 一级a免一级a做免费线看内祥| 91在线无码精品秘入口动作| 黄色大片中国一级片-免费看特一级片-亚洲黄色AV| 国产三级精品三级在线观看| 91精品国产偷窥一区二区| 午夜精品久久久久久不卡8050 | 亚洲无码专区在线| 国产中文字幕AV| 91大香蕉伊人| 91人妻人人澡| 日韩一级A| 久久久久无码国产精品不卡| 欧美激情一区| 欧美AAAAAAAA| 国产黄色精品视频| 久久久97精品久久| 欧美成人视频网| 欧美一二三区| 日韩无码A级片| 草久网| 亚洲视频在线免费观看| www国产在线| 一本道中文字幕| 天天日夜夜撸| 亚洲免费一级| 成人影视1-23| 婷婷五月天影视| 青草视频在线播放| 午夜日屄| 97人妻人人揉人人躁人人| 欧美色伊人| 亚洲男人的天堂AV| 欧美大香蕉视频| 欧美一级黃色A片免费看蜜桃熟了| 好吊视频一区二区| 精品国产AV鲁一鲁一区| 日韩黄色在线| 国产精品外围| 久热青草| 国精产品一区一区三区四区| 久久狼人| 网址你懂的| 亚洲三级电影在线观看| 中文字幕在线免费观看视频| 永久中文字幕| 日本激情网| 亚洲无码色婷婷| 蜜桃精品在线观看| 国产一级AA大片毛片| 欧美精品18| 成人视频观看| 国产成人精品123区免费视频| 夜夜嗨av无码一区二区三区 | 超碰成人在线免费观看| 青娱乐亚洲| 午夜视频免费| h片在线免费观看| 婷婷午夜精品久久久久久| 中文字幕av在线播放| 青青免费在线视频| 一区二区三区在线看| 黃色一級片黃色一級片尖叫声-百度-百 | 日日夜夜AV| 国产一级性爱视频| 亚洲V国产v欧美v久久久久久| 日韩av一级| 九九精品久久| 无码一区二区三区免费看| 欧美精品一二三| 水果派解说A∨无码区| 久久99久久99久久99| 69av视频在线观看| 九九精品久久| 国产精品4| 青草青视频| 蜜桃视频无码区在线观看| 亚洲无码第一页| 玖玖在线播放| 大香蕉在线免| 精品人妻午夜一区二区三区四区| 中国老熟女2老女人| 免费精品99| 亚洲精品自拍偷拍| 丁香五月综合| 国产一级片网站| 蝌蚪窝视频网| 国产精品96久久久| 18禁网站免费观看| 国产一区二区三区在线| 精品无码三级在线观看视频| 广西少妇BBwBBwBBw| 嫩草在线视频| 在桌下含她的花蒂和舌头H视频| www.日韩| 大陆一级片| 色综合九九| 三级片在线看| 亚洲精品成人无码AV在线| 中国女人如毛片| 五月婷婷基地| 超碰在线人妻| 操比一区| 91欧美视频| 91在线免费播放| 天天干夜夜操| 中国老女人操逼视频| 国产欧美综合三级伦| 超碰在线99| 国产9熟妇视频网站| 正在播放吴梦梦淫行| 亚洲日逼视频| 伊人成人片| 欧美footjob高跟脚交| 亚洲中文娱乐| 日本一级黄| 免费一级婬片AAA片毛片A级 | 国产又大又黄| 人人操人人看人人| 亚洲综合伊人| 九色蝌蚪视频| 嘿咻无码| 四川BBB搡BBB爽爽爽电影| 亚洲福利视频97| 做爰视频毛片蜜桃| 日韩无码黄色视频| 欧美日韩精品| 青草超碰| 2019中文字幕mv第三季歌词| 久热无码| 超碰在线精品| 老鸭窝久久| 色五月婷婷中文字幕| 91精品国产一区二区| A片在线免费播放| 一级A黄色片| 成人免费乱码大片a毛片蜜芽| 东京热综合影院| 日韩精品三级片| 成人网中文字幕| 国产在线激情视频| 台湾成人在线| 操逼视频网站免费| 免费AV播放| a无码| 天天撸天天射| 草草影院国产第一页| 亚洲色a| 大奶一区二区| 国产精品久久久久久久久久王安宇 | 伊人大香蕉在线网| 天天影视综合网免费观看电视剧国产 | 一级黄色大毛片| 免费一级无码婬片A片APP直播| 91久久综合| 麻豆精品国产传媒| 午夜福利免费在线观看| 九九热毛片在线观看| 激情AV在线| 特级A级毛片| 北条麻妃一区二区三区在线播放 | 性爱午夜视频| 99视频网站| 成人免费黄色| 欧美日韩国产成人在线| 午夜福利100理论片| 嘿咻嘿咻动态图| 俺来也俺去也www色| 操逼网站视频| 人人操免费| 亚洲高清无码一区二区三区| 日韩精品视频一区二区三区| 亚洲不卡一区二区三区| 欧美高清国产| 国产一级美女操逼视频免费播放| 免费人妻视频| 久大香蕉| 久青草资源福利视频| 三级网站视频| 国产成人无码精免费视频| 操逼操逼操逼操逼操逼操逼| 成人女人18女人毛片| 国产又爽又黄免费视频网站| 天天插天天干| 三级AV在线| 欧美黄色毛片| 久久精品99久久久久久| 久久夜色精品国产噜噜亚洲AV| 息子交尾一区二区三区| 成年人免费看视频| 91人妻无码视频| 成人片天天看片欧美一级| 五月丁香六月| 91视频久久| 99er视频| 久热官网| 二区三区在线| 免费一级A毛片夜夜看| 人人色人人操人人干| 天天干天天射天天爽| 国产无码观看| 日韩无码精品一区| 亚洲成人h| 国产一级做a爱免费视频| 四川妇搡BBBB搡BBBB| 久久精品色| 嫩草Av| 夫妻成人免费看片一区二区| 国产精品123| 91久久精品无码一区二区三区| av无码高清| 日本亚洲欧美| 国产91白丝在一线播放| 三级在线视频| 国产A片视频| 欧美强开小嫩苞| 亚洲免费视频播放| 骚逼综合| 99色综合| 成人午夜视频在线观看| 日本高清一区| 国产精品色色| 亚洲天堂一区二区三区| 日韩无码A片| H无码| 在线观看黄色电影| 久久视频免费看| 特级特黄AAAAAAAA片| 无码国产精品一区二区免费式直播 | 秋霞精品一区二区三区| 国产偷拍精品视频| 四虎色情| AA片免费看| 欧美高清在线综合| 加勒比黑人和翔田千里在线播放| www.国产豆花精品区| 欧美footjob| 中文字幕在线观看一区二区三区| 在线成人视频网站大香蕉在线网站 | 成人五区| 少妇喷水视频| XXXXⅩHD亚洲人HD| 午夜电影福利| 色五月网| 丰满的人妻一区二区三区果冻| 久久99深爱久久99精品| 日本在线免费观看| 人妻人玩| 亚洲无人禁区| 久久黄色成人视频| 天堂视频在线观看亚洲美女| 亚洲无码av中文字幕| 尿在小sao货里面好不好| 无码中文字幕在线视频| 色先锋av| 午夜福利成人视频| 久操人妻| 一级aa片| 北条麻妃无码| 婷婷天天干| 一区二区国产视频| 国产在线97| 一本无码中文字幕| www.熟女| 色男人色天堂| 久久久大香蕉| www.99免费视频| 国产操逼网址| 内射老熟女| 西西444WWW无码精品| 蜜桃传媒一区二区亚洲| 久久久91| 亚洲无码高清在线观看视频| 欧美三级不卡| 西西WWW888大胆无码| 超碰人人爱国产视| 久草福利在线视频| 亚洲欧美中文字幕| 无码精品一区二区三区在线观看| 欧美日韩黄色极品| 成人性爱在线视频| 琪琪色在线观看| 狠狠色婷婷7777| 91麻豆免费看| 亚洲精品aaa| 99久久夜色精品国产亚洲| 欧美淫乱视频| 人人草人人干| 亚洲一级二级片| 欧美黄色免费在线观看| 可以免费观看的av| 制服丝袜乱伦| 淫一区二区| 伊人网在线| 欧美色视频一区二区三区在线观看| 91人妻无码精品蜜桃| 亚洲欧美久久| 欧一美一伦一A片| 天堂在线网| 国产精品欧美一区二区三区苍井空 | 国产欧美毛片| 人人草人人舔| xxxxx日韩| 安徽妇搡BBBB搡BBBB按摩小说| 91麻豆天美传媒在线| 爱搞搞爱干干| 成人国产精品在线看| 欧美日韩中文字幕无码| 人人艹人人艹| 亚洲男人的天堂网| 高清av无码| 国产AV无码区亚洲| 黑人aV| 中文字幕不卡无码| 亚洲无码免费看| 无码人妻丰满熟妇啪啪| 精品蜜桃秘一区二区三区在线播放| 亚洲欧美在线观看视频| 美日韩一区二区| 国产色悠悠| 91蝌蚪在线| 亚洲性爱工厂| 日韩v片| 国产成人高潮毛片| 黄片在线免费观看| 一级黄色片免费观看| 东北女人操逼视频| 黄色一区二区三区| 91豆花在线| 色婷婷在线免费视频| 女人18特级毛片。| 蜜桃视频无码区在线观看| 日韩v在线| 免费一级无码婬片A片AAA毛片 | 中文字幕五月天| 国产黄色免费视频| 久久一级片| 日韩国产传媒| 无码一| 麻豆91免费视频| 筱田步美| 香蕉视频91| 亚洲天堂美女| 在线亚洲小视频| 国产精品999| 亚洲欧美在线视频观看| 色哟哟国产精品| 激情五月天小说网| 精品久久一区二区三区四区| 天堂中文在线观看| 丁香久久婷婷| 特级毛片片A片AAAAAA| 久久黄色A片| 亚洲九区| 麻豆一区| 婷婷福利导航| 一级爱爱免费视频| 国产一级黄色大片| 西西西444www无码视| 国产精品无码久久久久成人app| R四虎18| 日本a视频| 亚洲天堂婷婷| 玖玖资源在线| 天天透天天干| 国产精品久久久久久久久久久免费看| 久热热| 中文字幕日韩高清| 中文字幕乱码视频32| 最近中文字幕在线中文字幕7| 中文字幕++中文字幕明步| 五月丁香婷婷啪啪| 天堂成人| 尤物网站在线观看| 国产精品1| 玖玖色视频| 超碰97人人操| 男女草比视频| a在线免费观看| 亚洲无码少妇| 2021无码| 亚洲加勒比久久88色综合| AAA免费视频| 欧美视频免费操逼图。| 高清无码免费不卡| 国产成人亚洲日韩| 成人A片在线| 欧美性爱综合网| 偷拍视频图片综合网| 精品婷婷| www.操逼网| 亚洲,制服,综合,中文| 俺来也官网欧美久久精品| 久久另类TS人妖一区二区| 中文字幕在线看成人电影| a片视频网站| 久久人妻无码| 日韩人妻中文| 国产91黄色| 91精品国产综合久久蜜臀使用方法| 天堂av中文字幕| AV网站免费在线观看| 中国A级片| 国产一卡二卡在线观看| 最新av网| 国产视频无码| 欧美激情国产精品| 国产一级在线| 韩日一区二区三区| AV电影免费看| 国产A片免费观看| 国产熟妇搡BBBB搡BBBB搡| 亚洲欧洲视频| 18啪啪网站| AV免费激情影院| 成人电影一区二区| 伊人偷拍视频| 免费在线观看黄色| 韩国免费一级a一片在线播放| 亚洲视频在线观看| 国产麻豆三级片| 日韩欧美中文字幕视频| 97人妻精品一区二区三区| 性爱小说视频| 欧美成人黄色小视频| 人人澡人人爽人人精品| 色哟哟――国产精品| 色男人的天堂| 日皮视频在线| 欧美成人午夜影院| 国产av影视| 人妻少妇综合| 亚洲中文字幕av| 91人妻最真实刺激绿帽| 国产高清做爱免费在线视频| av网站免费看| 国产又粗又长又硬又大毛苴茸图片| 中文字幕国产视频| 操逼视频网站免费| 国产精品国内自产拍| 99色色网| 日韩A毛片| 在线观看亚洲| 国产色综合视频| 996热re视频精品视频| 人妻少妇精品视频| 91在线一区二区三区| 激情婷婷 | 91爱搞在线| 久色性爱视频| JiZZjiZZ亚洲成熟熟妇| 欧美大黄视频| 91成人情欲影视网| A片视频免费观看| 国产农村乱婬片A片AAA图片| 五月丁香六月| 亚洲av免费看| 午夜美女福利视频| 超碰成人在线观看| 国产乱码精品一品二品| 一区二区操逼| 亚洲免费性爱视频| 国产伦子伦一级A片在线| 国产精品一区一区三区| 亚洲高清无码在线观看| 七十路の高齢熟女千代子| 97人人澡| 亚洲二区无码| 午夜无码视频| 尤物最新网址| 2025最新国产成人精品| 国产精品视频久久久久| 在线观看免费黄色视频| 特级西西44www无码| 在线国产福利| 国产精品色情A级毛片| 最近中文字幕高清2019中文字幕| 99伊人| 欧美日韩一级A片| 精品无码一区二区三区在线| 中文字幕在线欧美| 国产福利视频在线| 操片免费| 国产一a毛一a免费观看| 自慰喷水在线观看| 国产女人操逼视频| 欧亚毛片| 色综合一区| 一区久久| 中文字幕在线乱| 久久视频理论| 无码aa| 精品一区二区三区免费毛片| 欧美日韩免费在线| 午夜爱爱爱| 亚洲五月六月| 亚洲综合免费观看高清完整版在线 | 免费操b视频| 久久久影院| 国产三级片在线视频| 天天综合7799| 日比视频网站| 天天操超碰| 91人妻一区二区三区| 超碰超爽| 国产精品一二三| 亚洲成人精品在线观看| 欧美一级特黄A片免费| 最新黄色av| 日韩永久免费| 91女色| 精品孕妇一级A片免费看| 黄色操逼视频| 日韩成人视频在线观看| 良妇露脸15P| 亚洲无码AV在线播放| 天天操人人| 各种BBwBBwBBwBBw| 国产中文字幕免费| 在线三级av| 国产人妻人伦精品1国产丝袜 | 国产精品视频在线免费观看| 久久精彩免费视频| 国产一级AA片| 日韩不卡免费| 手机看片久草| 2015中文字幕黄色视频| 欧美在线视频99| 亚洲久操| 日本色色| 爱看福利视频| 婷婷久月| 国产一级片视频| 日韩欧美国产精品| 成年人免费电影| 99热精品免费| 五月丁香婷婷在线观看| 水果派解说AV无码一区| 成人视频高清无码| 国产黄片自拍| 伊人久久大综合中文无码| 人妻77777| 一道本一区二区三区免费视频| 国产性爱自拍一下| 国产A级毛片| 91日韩在线| 欧美一区二区三区婷婷五月| 欧美性爱在线观看| 欧美日本国产| 综合一区二区| 成人A片视频| 97人人艹| 成人黄色在线视频| 国产AV高清| 三级免费无限AV| 欧美色图视频网站| 国产三级黄色AV| 国产十欧洲十美国+亚洲一二三区在线午夜| 中文字幕免费视频在线播放| 激情一一区二区三区| 日韩国产欧美精品一区| 黑人AV七| 中文字幕日日| 国产精品一品二区三区的使用体验 | 搡BBB| 无码视频在线免费观看| 熟女导航| 人妻少妇av中文字幕乱码牛牛| 亚洲成人一区二区在线观看| 国内自拍激情视频| 欧美插插插| 婷婷视频导航| 日韩综合区| 91久久无码一区人妻A片蜜桃 |