• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Android的平滑折線圖組件的設(shè)計與實現(xiàn)

    2019-11-14 08:17高毅丁勇涂小琴張春紅
    軟件 2019年9期
    關(guān)鍵詞:折線圖圖表控制點

    高毅 丁勇 涂小琴 張春紅

    摘 ?要: 平滑折線圖是最為常用的圖表組件,Android系統(tǒng)并沒有提供,而第三方的技術(shù)又不夠成熟,本文提出了一種基于Android的平滑折線圖組件的實現(xiàn)方法,從布局空間設(shè)計、繪制點標志、折線圖平滑化、關(guān)鍵代碼等方面對平滑折線圖組件的設(shè)計實現(xiàn)過程進行了詳細描述。該組件實驗效果良好,布局合理,使用方便,支持自定義,用戶體驗好,能滿足大多數(shù)Android應(yīng)用開發(fā)的需求,有很好的實際應(yīng)用價值和創(chuàng)新性。

    關(guān)鍵詞?Android;平滑折線圖;貝塞爾曲線;數(shù)據(jù)可視化

    中圖分類號: TP317????文獻標識碼?A????DOI:10.3969/j.issn.1003-6970.2019.09.003

    本文著錄格式:高毅,丁勇,涂小琴,等. 基于Android的平滑折線圖組件的設(shè)計與實現(xiàn)[J]. 軟件,2019,40(9):13-17

    Design and Implementation of Smooth Line Chart Component Based on Android

    GAO Yi, DING Yong, TU Xiao-qin, ZHANG Chun-hong

    College of Arts and Sciences, Yunnan Normal University, Kunming 650222,?China

    Abstract: The smooth line chart is the most commonly used chart component. The Android system does not provide it, and the third-party technology is not mature enough. This paper proposes an Android-based smooth line chart component implementation method.The design and implementation process of the smooth line graph component is described in detail in layout space design, drawing point mark, the smoothing of the line graph , key codes and so on. The component has good experimental results, reasonable layout, convenient use, support for customization, good user experience, and can meet the needs of most Android application development, and has good practical application value and innovation.

    Key words: Android; Smooth line chart; Bezier curve; Data visualization

    0??引言

    開發(fā)Android應(yīng)用程序,離不開界面設(shè)計,雖然Android系統(tǒng)本身提供了很多組件,如:文本框、編輯框、按鈕、單選按鈕與單選按鈕組、復(fù)選框、圖片框、下拉列表框、列表框、開關(guān)按鈕等,這些組件基本上能滿足大多數(shù)應(yīng)用的開發(fā)需求。統(tǒng)計圖表是最早的數(shù)據(jù)可視化形式,作為基本的可視化元素仍然被非常廣泛地使用[1]。而平滑折線圖作為最為常用的統(tǒng)計圖表之一,但Android系統(tǒng)本身并不提供,因此需要開發(fā)者來創(chuàng)建自定義的平滑折線圖組件,以實現(xiàn)用戶的特殊需求。然而,Android系統(tǒng)

    中的平滑折線圖組件的開源方案并不多,第三方的平滑折線圖組件技術(shù)又不夠成熟,要么使用不便,要么不夠靈活,要么用戶體驗差。本文通過設(shè)計一個基于Android的平滑折線圖組件,實現(xiàn)了數(shù)據(jù)的可視化展示,該組件使用靈活方便、用戶體驗好。下面從布局空間設(shè)計、繪制點標志、折線圖平滑化、關(guān)鍵代碼等方面對平滑折線圖組件的設(shè)計實現(xiàn)過程做詳細描述。

    1??相關(guān)概念

    1.1??平滑折線圖

    折線圖是用折線(直線)把相鄰的數(shù)據(jù)點連接起來,用于顯示數(shù)據(jù)在一個連續(xù)的時間間隔或者時間跨度上的變化,它的特點是反映事物隨時間或有序類別而變化的趨勢[2]

    平滑折線圖是在折線圖的基礎(chǔ)上改進的,用平滑的曲線代替折線來連接相鄰的數(shù)據(jù)點[3]。在平滑折線圖中,數(shù)據(jù)是遞增還是遞減、增減的速率、增減的規(guī)律(周期性、螺旋性等)、峰值等特征都可以清晰地反映出來。所以,平滑折線圖常用來分析數(shù)據(jù)隨時間的變化趨勢,也可用來分析多組數(shù)據(jù)隨時間變化的相互作用和相互影響。

    1.2View

    Android應(yīng)用的絕大部分UI組件都放在android.widget包及其子包、android.view包及其子包中,Android應(yīng)用的所有UI組件都繼承了View類,View組件非常類似于Swing編程的JPanel,它代表一個空白的矩形區(qū)域[4]。

    基于Android UI組件的實現(xiàn)原理,開發(fā)者完全可以開發(fā)出項目定制的組件,當Android系統(tǒng)提供的UI組件不足以滿足需求時,可以通過繼承View來派生自定義組件。過程為,首先定義一個繼承View基類的子類,然后重寫View類的一個或多個方法來實現(xiàn)。

    1.3Path

    在進行畫線等操作時還需要連接路徑,這個工具由Path提供,Path類中包含一些直線或曲線連接到指定點的方法。Android提供的Path是一個非常有用的類,它可以預(yù)先在View上將N個點連成一條“路徑”,然后調(diào)用Canvas的drawPath方法即可沿著路徑繪制圖形[5]。

    2??關(guān)鍵技術(shù)

    2.1布局空間設(shè)計

    移動端應(yīng)用開發(fā)最大的特點之一就是可用顯示空間小,要讓有限的布局空間去展示更多數(shù)據(jù)和信息,所以平滑折線圖組件的布局空間設(shè)計尤為關(guān)鍵。平滑折線圖的布局空間設(shè)計如圖1所示,由圖表標題區(qū)、Y軸區(qū)、X軸區(qū)、空白區(qū)、系列標題區(qū)和圖表繪制區(qū)組成[6-7],其中空白區(qū)并不繪制內(nèi)容,為了在水平方向上對稱,它的大小和Y軸區(qū)大小一致。在該組件的設(shè)計過程中,為了能讓Android應(yīng)用開發(fā)者可以自由地去設(shè)置文本的大小,首先計算該組件在移動設(shè)備端的顯示大小,再計算Y軸區(qū)、X軸區(qū)、空白區(qū)、系列標題區(qū)所占大小,最后得到圖表繪制區(qū)的大小。下面就計算過程做詳細描述,單位都為像素(px)。

    (1)計算平滑折線圖組件在移動設(shè)備端顯示的大小

    W表示平滑折線圖組件在移動端設(shè)備上所占的寬度,H表示平滑折線圖組件在移動端設(shè)備上所占的高度。通過重寫View類中的onMeasure方法來實現(xiàn)對WH的計算。關(guān)鍵代碼如下:

    //計算顯示模式

    int specMode=MeasureSpec.getMode?(width Me asure Spec);

    //計算寬度

    int width=MeasureSpec.getSize?(widthMe a su reSpec);

    //若顯示模式是不確定的值,或者未指定尺寸,設(shè)置一個200的默認值

    if (specMode==MeasureSpec.UNSPECIFIED)

    {

    width=200;

    }

    //計算高度的代碼和上面計算寬度的代碼類似,在此省略

    ……

    setMeasuredDimension(width, height);

    編寫好上面的onMeasure方法后,就可以通過以下公式來計算WH。

    W=getMeasuredWidth() (1)

    H=getMeasuredHeight() (2)

    (2)計算圖表標題區(qū)、Y軸區(qū)、X軸區(qū)、系列標題區(qū)的大小

    為了計算圖表標題區(qū)、Y軸區(qū)、X軸區(qū)、系列標題區(qū)所占空間的寬和高,特地編寫了private Rect getTextRect(String text,float textSize)方法,該方法有兩個參數(shù),第一個參數(shù)text是顯示文本的內(nèi)容,第2個參數(shù)textSize是顯示文本的大小,返回值是Rect類型的對象。由于中文的基線和英文的基線不一樣,為了顯示效果,在計算文本所占矩形時做了修正。關(guān)鍵代碼如下:

    ……

    Paint.FontMetricsInt fm=paint.?getFont Met ricsInt();

    //修正上邊界,減去文本大小的四分之一

    int top=baseLineY+fm.top-(int)(textSize/4.0f);

    //修正下邊界,加上文本大小的四分之一

    int bottom=baseLineY+fm.bottom+(int)(te x t Size/4.0f);

    //計算文本所占矩形空間的寬度

    int width=(int)paint.measureText(text);

    Rect rect=new Rect(baseLineX,top,baseLi n e X+width,bottom);

    ……

    編寫好上面的getTextRect方法后,就可以計算圖表標題區(qū)、Y軸區(qū)、X軸區(qū)、系列標題區(qū)所占空間的寬和高。

    ① 圖表標題區(qū)的寬WT和高HT計算公式如下:

    WT=getTextRect(圖表標題文本內(nèi)容圖表標題文本大小).width()(3)

    HT=getTextRect(圖表標題文本內(nèi)容,圖表標題文本大小).height()(4)

    ② Y軸區(qū)的寬WY和高HY計算公式如下:

    WY=getTextRect(Y軸刻度值文本內(nèi)容,Y軸刻度值文本大小).width()(5)

    HY=getTextRect(Y軸刻度值文本內(nèi)容,Y軸刻度值文本大小).height()(6)

    ③ X軸區(qū)的寬WT和高HT計算公式如下:

    WX =?getTextRect(X軸刻度值文本內(nèi)容,X軸刻度值文本大小).width() (7)

    HX=getTextRect(X軸刻度值文本內(nèi)容,X軸刻度值文本大小).height()(8)

    ④ 系列標題區(qū)的寬WT和高HT計算公式如下:

    WST=getTextRect(系列標題文本內(nèi)容,系列標題文本大小).width()(9)

    HST=getTextRect(系列標題文本內(nèi)容,系列標題文本大小).height()(10)

    (3)計算圖表繪制區(qū)的大小

    圖表繪制區(qū)的寬WC和高HC計算公式如下:

    WC=W–WY –WY (11)

    HC=H–HT–HX–HST(12)

    2.2繪制點標志

    本文實現(xiàn)的平滑折線圖組件支持顯示多個系列值,為了區(qū)別不同的系列,不僅使用了不同的顏色標識不同的曲線,還使用了不同的形狀標志標識數(shù)據(jù)點。本文的平滑折線圖組件支持的數(shù)據(jù)點標志有8種,分別為圓形、正方形、等邊三角形、菱形、正五邊形、正六邊形、十字形狀和五角星形。

    在點標志繪制過程中,圓形、正方形、菱形、正六邊形、十字形狀的繪制相對簡單。而等邊三角形、正五邊形和五角星形3種點標志的繪制相對復(fù)雜,需要用到Android中的Path方面的技術(shù)。為了方便控制點標志的位置和大小,點標志是在一個圓心點坐標為(centerX,?centerY)、半徑為width/2的圓內(nèi)進行繪制。下面就這3種點標志的繪制過程做詳細描述。

    下面3種點標志的設(shè)計如圖2所示,Android中canvas的繪圖坐標和數(shù)學(xué)的平面直角坐標不同,向右代表X軸的正方向,向下代表Y軸的正方向。

    (1)等邊三角形

    等邊三角形的繪制是在圓心為(centerX, centerY)、半徑為width/2的圓內(nèi)進行的,也就是要在圓的邊上確定三個點,使這三個點能夠形成等邊三角形。如圖2(左)描述,這三個點分別為P0、P1、P2,根據(jù)三角函數(shù)可以計算出它們的坐標:

    P0(centerX, centerY-width/2)

    P1(centerX+(width/2)*cos(30), centerY+(width/2)*sin(30))

    P2(centerX-(width/2)*cos(30), centerY+(width/2)*sin(30))

    再把這三個點依次連接到Path對象中并形成閉環(huán),通過繪制Path對象就可以實現(xiàn)等邊三角形的繪制。

    (2)正五邊形

    正五邊形的繪制是在圓心為(centerX,?centerY)、半徑為width/2的圓內(nèi)進行的,也就是要在圓的邊上確定五個點,使這五個點能夠形成正五邊形。如圖2(中)描述,這五個點分別為P0、P1、P2、P3、P4,根據(jù)三角函數(shù)可以計算出它們的坐標:

    P0(centerX, centerY-width/2)

    P1(centerX+(width/2)*cos(18), center-(width/2)*sin(18))

    P2(centerX+(width/2)*cos(54), center+(width/2)*sin(54))

    P3(centerX-(width/2)*cos(54), center+(width/2)*sin(54))

    P4(centerX-(width/2)*cos(18), center-(width/2)*sin(18))

    再把這五個點依次連接到Path對象中并形成閉環(huán),通過繪制Path對象就可以實現(xiàn)正五邊形的繪制。

    (3)五角星形

    五角星形的繪制是在圓心為(centerX,?centerY)、半徑為width/2的圓內(nèi)進行的,也就是要在圓的邊上確定五個點,使這五個點能夠形成五角星形。如圖2(右)描述,這五個點分別為P0、P1、P2、P3、P4,根據(jù)三角函數(shù)可以計算出它們的坐標:

    P0(centerX, centerY-width/2)

    P1(centerX-(width/2)*cos(54), center+(width/2)*sin(54))

    P2(centerX-(width/2)*cos(18), center-(width/2)*sin(18))

    P3(centerX+(width/2)*cos(18), center-(width/2)*sin(18))

    P4(centerX-(width/2)*cos(54), center+(width/2)*sin(54))

    再把這五個點依次連接到Path對象中并形成閉環(huán),通過繪制Path對象就可以實現(xiàn)五角星形的繪制。

    2.3折線圖平滑化

    平滑折線圖是在折線圖的基礎(chǔ)上改進的,用平滑的曲線代替折線來連接相鄰的數(shù)據(jù)點。本文選用3次Bezier曲線作為平滑的曲線,下面就折線圖平滑化問題做詳細描述。

    (1)3次Bezier曲線

    繪制平滑折線圖相當于數(shù)學(xué)問題:在平面上存在n個數(shù)據(jù)點Pi(xi,yi),其中i=1,2,3,…,n。在相鄰的每兩個點Pi和Pi+1之間,用一條3次Bezier曲線連接。

    3次Bezier曲線由4個點確定,起點Pi,終點Pi+1,在起點和終點之間還需要2個控制點。用3次Bezier曲線把相鄰的兩個點連接起來,需要2個控制點,平面上存在n個數(shù)據(jù)點,要把這n個數(shù)據(jù)點依次用3次Bezier曲線連接起來,共需要2*(n-1)個控制點,記為C1i和C2i,其中i=1,2,3,…,n-1[8]。

    繪制3次Bezier曲線最為關(guān)鍵的就是確定控制點。如果在各段3次Bezier曲線的接頭處,只要求曲線函數(shù)式的一階導(dǎo)數(shù)連續(xù)[9],也就是說,只要求曲線的切線斜率連續(xù),那么,只要過每一個Pi點,分別作曲線的切線,然后把位于Pi前面的控制點C2i-1和位于Pi后面的控制點C1i,都取在過?Pi點所作的切線上就可以了。把過Pi點的切線方向,取為與線段Pi-1Pi+1平行的方向,得到控制點坐標。

    控制點C1i的坐標為:

    C1i(xi+S*(xi+1-xi-1), yi+S*(yi+1-yi-1))

    控制點C2i的坐標為:

    C2i(xi-S*(xi+1-xi-1), yi-S*(yi+1-yi-1))

    其中,S是一個常量,表示平滑系數(shù),且s∈(0,?1)。

    上述方法是很多應(yīng)用計算3次Bezier曲線控制點的方法,使用該方法,得到實驗效果如圖3所示。在該圖中,圓點表示數(shù)據(jù)點,五角星表示控制點,并用線條把相鄰的控制點連接起來。

    從圖3上可以看到,第3個數(shù)據(jù)點的Y值大于第4個數(shù)據(jù)點的Y值,那么,連接這兩個數(shù)據(jù)點的曲線應(yīng)該是單調(diào)遞減的,但實驗效果并不是。還有第10個數(shù)據(jù)點到第11個數(shù)據(jù)點間的曲線應(yīng)該是單調(diào)遞增的,但繪制出來的效果是先遞增再遞減。這樣的效果不能很好的表示平滑折線圖的涵義,下面就控制點坐標的計算做出修正。

    (2)修正控制點

    把相鄰的數(shù)據(jù)點用曲線連接起來,并能表示數(shù)據(jù)是遞增或者遞減的。為了不出現(xiàn)上面描述的情況,遞增后遞減,遞減后遞增。控制點的Y坐標不應(yīng)超過(大于或小于)相應(yīng)數(shù)據(jù)點的Y坐標,把控制點的Y坐標的值修正為相應(yīng)數(shù)據(jù)點的Y坐標,得到新的控制點表示為C1i和C2i,其中i=1,2,3,…,n-1。

    控制點C1i的坐標為:

    C1i(xi+S*(xi+1-xi-1), yi

    控制點C2i的坐標為:

    C2i(xi-S*(xi+1-xi-1), yi

    同上,S是一個常量,表示平滑系數(shù),且s∈(0,?1)。

    使用該方法,得到實驗效果如圖4所示。在該圖中,相鄰數(shù)據(jù)點間的曲線能很好的表示數(shù)據(jù)間遞增或者遞減的的趨勢。

    2.4關(guān)鍵代碼

    (1)計算控制點的關(guān)鍵代碼如下

    ……

    //計算控制點

    for(int j=1;j

    //取數(shù)據(jù)點Pi-1

    PointF p0 = points.get(i).getMyPoints().get(j-1);

    //取數(shù)據(jù)點Pi

    PointF p = points.get(i).getMyPoints().get(j);

    //取數(shù)據(jù)點Pi+1

    PointF p1 = points.get(i).getMyPoints().get(j+1);

    //計算控制點相對數(shù)據(jù)點Pi的X方向的偏移,平滑系數(shù)為1/8

    lX = Math.abs((p1.x-p0.x))*(1.0/8.0);

    //計算第1個控制點

    float x1 = p.x + lX;

    float y1 = p.y;

    //計算第2個控制點

    float x2 = p.x - lX;

    float y2 = p.y;

    //把控制點添加到動態(tài)數(shù)組中

    point1.add(new PointF(x1,y1));

    point2.add(new PointF(x2,y2));

    }

    ……

    (2)繪制平滑折線圖的關(guān)鍵代碼如下

    ……

    //定義Path對象

    linePath = new Path();

    //設(shè)置第1個數(shù)據(jù)點為Path的起點

    linePath.moveTo(points.get(i).getMyPoints().get(0).x,points.get(i).getMyPoints().get(0).y);

    //設(shè)置畫筆對象的顏色屬性

    linePaint.setARGB(seriesItemColor.get(i%seriesItem Color.size()).getA(),seriesItemColor.get(i%se riesItemColor.size()).getR(),seriesItemColor.get(i% serie s ItemColor.size()).getG(),seriesItemColor.get (i%ser ie sItemColor.size()).getB());

    for(int j=1;j<points.get(i).getMyPoints().size();j++){

    //取當前要繪制的曲線的第1個控制點

    float x1=point1.get(i).getMyPoints().get(j-1).x;

    float y1=point1.get(i).getMyPoints().get(j-1).y;

    //取當前要繪制的曲線的第2個控制點

    float x2=point2.get(i).getMyPoints().get(j-1).x;

    float y2=point2.get(i).getMyPoints().get(j-1).y;

    //取當前要繪制的曲線的終點

    float x=points.get(i).getMyPoints().get(j).x;

    float y=points.get(i).getMyPoints().get(j).y;

    //計算3次Bezier曲線的路徑,并把此路徑添加到Path對象linePath中

    linePath.cubicTo(x1,y1,x2,y2,x,y);

    }

    for(int j=0;j<points.get(i).getMyPoints().size();j++){

    //繪制點標志

    drawMark(canvas,seriesMark[i%seriesMark.?length],seriesItemColor.get(i%seriesItemCol or.size()),points.get(i).getMyPoints().get(j).x,?points.get(i).getMyPoints().get(j).y,dpTopx(m arkWidth));

    }

    //通過Path對象linePath來實現(xiàn)對3次Bezier曲線的繪制

    canvas.drawPath(linePath, linePaint);

    ……

    3??實驗效果

    本文實現(xiàn)的平滑折線圖組件的實驗效果如圖5、圖6所示,圖5的平滑系數(shù)為0.25,圖6的平滑系數(shù)為0.125,兩個圖進行對比,平滑系數(shù)小的,曲線的曲率小,更接近于直線,反之,平滑系數(shù)大的,曲線的曲率大。該平滑折線圖可以顯示多個系列,不同的系列,不僅曲線顏色不一樣,點標志的樣式也不一樣,而且還具有動畫效果,動畫效果為依次從

    左到右顯示,相比現(xiàn)有的第三方類似的組件,具有更好的用戶體驗。在實際應(yīng)用中,該平滑折線圖還可以自定義背景顏色、背景線條粗細、背景線條顏色、文本大小、文本顏色等屬性,滿足了Android開發(fā)者更多的需求,顯示效果的設(shè)置多樣化,使用更加靈活。盡管目前也有一些基于Android的平滑折線圖組件,或多或少都存在一些問題,如使用不便、不夠靈活等,相比之下,本文描述的平滑折線圖組件還是具有一定的實用性和創(chuàng)新性。

    4??結(jié)語

    本文提出的基于Android的平滑折線圖組件可以解決一些數(shù)據(jù)展示的問題,可以展示多個系列的數(shù)據(jù),方便不同系列的數(shù)據(jù)進行對比,能夠清晰地反映出數(shù)據(jù)是遞增還是遞減、增減的速率、增減的規(guī)律、峰值等特征。經(jīng)過測試,布局整齊,響應(yīng)速度快,動畫效果良好,大大增強了用戶體驗,能滿足大多數(shù)Android應(yīng)用開發(fā)人員的需求。但是,還是有一些方面需要進一步研究,如動態(tài)心電圖、Bezier曲線在數(shù)據(jù)可視化中的應(yīng)用等等,在下一步

    的研究工作中,將在這些方面做深入研究。

    參考文獻

    • 陳為, 沈則潛, 陶煜波. 數(shù)據(jù)可視化[M]. 北京: 電子工業(yè)出版社, 2013.?12: 129.
    • 張文彤,?鄺春偉. SPSS統(tǒng)計分析基礎(chǔ)教程[M]. 北京市: 高等教育出版社, 2011.?11: 36.
    • 彭愿, 吳阿丹, 董興鵬, 李勝樂. 用JavaScript實現(xiàn)網(wǎng)頁曲線圖動態(tài)信息顯示[J]. 軟件, 2012,33(1): 98-101.
      • 李剛, 瘋狂Android講義(第3版)[M]
      • . 北京: 電子工業(yè)出版社, 2015.?6: 123.
    • 啟艦, Android自定義控件開發(fā)入門與實踐[M]. 北京: 電子工業(yè)出版社, 2018.?7: 54.
    • 高毅,?王昕,?楊克光.?Android平臺下折線圖組件的研究和實現(xiàn)[J].?現(xiàn)代計算機,?2016.?5: 69-71.
    • 高毅,?楊克光,?王昕.?基于Android平臺的柱狀圖組件的設(shè)計實現(xiàn)[J].?現(xiàn)代計算機,?2016.?6: 77-80.
    • 石屹,?金登男.?基于塞爾曲線擬合的心電信號模式分類方法[J].?計算機工程與設(shè)計,?2013.?4: 1437-1441.
    • 劉成志,?李軍成,?楊煉.?基于三次Bézier 曲線逼近的邊緣亞像素定位方法[J]. 軟件, 2015, 36(7): 31-35.
    • 李晉宏, 戴海濤. 可穿戴設(shè)備數(shù)據(jù)挖掘及可視化技術(shù)的研究[J].?軟件, 2015, 36(12): 69-71.

    猜你喜歡
    折線圖圖表控制點
    Optimization Design of Miniature Air Quality Monitoring System Based on Multi-Sensor Fusion Technology
    讓折線圖顯示在一個單元格中
    NFFD控制點分布對氣動外形優(yōu)化的影響
    基于風(fēng)險管理下的項目建設(shè)內(nèi)部控制點思考
    相似材料模型中控制點像點坐標定位研究
    SDCORS在基礎(chǔ)地理信息控制點補測中的應(yīng)用
    亚洲va日本ⅴa欧美va伊人久久| 一个人观看的视频www高清免费观看| 国产乱人伦免费视频| 精品一区二区三区视频在线| 91麻豆av在线| 免费一级毛片在线播放高清视频| 久久精品国产亚洲av天美| 亚洲三级黄色毛片| 老熟妇乱子伦视频在线观看| 少妇人妻一区二区三区视频| 色哟哟·www| 一边摸一边抽搐一进一小说| 大型黄色视频在线免费观看| 91av网一区二区| 少妇的逼好多水| 日本 欧美在线| 桃色一区二区三区在线观看| netflix在线观看网站| 亚洲 欧美 日韩 在线 免费| 久久中文看片网| 亚洲av第一区精品v没综合| 亚洲人与动物交配视频| av在线老鸭窝| 欧美区成人在线视频| 两个人的视频大全免费| 夜夜躁狠狠躁天天躁| 亚洲av一区综合| 国产精品久久久久久精品电影| 一进一出抽搐gif免费好疼| 在线播放无遮挡| www.熟女人妻精品国产| 成人性生交大片免费视频hd| 欧美zozozo另类| 麻豆国产97在线/欧美| 男女做爰动态图高潮gif福利片| 欧美日韩综合久久久久久 | 91久久精品电影网| 两人在一起打扑克的视频| 我的女老师完整版在线观看| 欧美日韩国产亚洲二区| 99在线视频只有这里精品首页| 美女大奶头视频| 十八禁国产超污无遮挡网站| 女人被狂操c到高潮| 亚洲美女视频黄频| 99久久精品一区二区三区| 久久6这里有精品| 国产午夜福利久久久久久| 午夜精品在线福利| 色综合站精品国产| 亚洲国产精品999在线| 动漫黄色视频在线观看| 欧美绝顶高潮抽搐喷水| 窝窝影院91人妻| 美女被艹到高潮喷水动态| 国内精品久久久久精免费| 亚洲国产高清在线一区二区三| 如何舔出高潮| 非洲黑人性xxxx精品又粗又长| 有码 亚洲区| 成年版毛片免费区| 成人精品一区二区免费| 熟妇人妻久久中文字幕3abv| 日日摸夜夜添夜夜添小说| 成年人黄色毛片网站| 五月伊人婷婷丁香| 别揉我奶头 嗯啊视频| 亚洲七黄色美女视频| 草草在线视频免费看| 一区二区三区激情视频| 一本精品99久久精品77| 国产精品98久久久久久宅男小说| 国产 一区 欧美 日韩| 亚洲一区高清亚洲精品| 一个人免费在线观看电影| 国产91精品成人一区二区三区| 欧美+亚洲+日韩+国产| 可以在线观看毛片的网站| 3wmmmm亚洲av在线观看| 国产精品99久久久久久久久| 午夜精品久久久久久毛片777| 欧美3d第一页| 国产精品99久久久久久久久| 亚洲专区中文字幕在线| 欧美性猛交黑人性爽| 国产精华一区二区三区| 中文在线观看免费www的网站| 国产毛片a区久久久久| 最好的美女福利视频网| 97超视频在线观看视频| 久久久国产成人免费| 天堂影院成人在线观看| 亚洲第一区二区三区不卡| 亚洲美女视频黄频| 十八禁人妻一区二区| 成熟少妇高潮喷水视频| 在线a可以看的网站| 男女做爰动态图高潮gif福利片| 久久天躁狠狠躁夜夜2o2o| 亚洲精品乱码久久久v下载方式| 亚洲最大成人中文| 黄色女人牲交| 国产精品人妻久久久久久| 大型黄色视频在线免费观看| 一夜夜www| 最新在线观看一区二区三区| 看十八女毛片水多多多| 亚洲自偷自拍三级| 国产成人aa在线观看| 国产av麻豆久久久久久久| 91久久精品电影网| 少妇的逼好多水| 欧美色视频一区免费| 国产高清三级在线| 永久网站在线| 国产一区二区亚洲精品在线观看| 国产日本99.免费观看| 午夜视频国产福利| 搡老岳熟女国产| 超碰av人人做人人爽久久| 亚洲人成伊人成综合网2020| 日韩国内少妇激情av| 日韩成人在线观看一区二区三区| 老鸭窝网址在线观看| 亚洲人成网站在线播| 757午夜福利合集在线观看| 丁香欧美五月| 老鸭窝网址在线观看| 丰满人妻熟妇乱又伦精品不卡| 黄色日韩在线| 久久久久久久久大av| 亚洲av熟女| 99久国产av精品| 欧美精品啪啪一区二区三区| 国产私拍福利视频在线观看| 国产成人av教育| 18+在线观看网站| 97碰自拍视频| 99热精品在线国产| 欧美日韩瑟瑟在线播放| 日日摸夜夜添夜夜添小说| 亚州av有码| 亚洲av美国av| 欧美xxxx黑人xx丫x性爽| 午夜福利在线观看吧| 91在线精品国自产拍蜜月| 欧美成人免费av一区二区三区| 国产乱人伦免费视频| 国产成年人精品一区二区| 亚洲人成电影免费在线| 伦理电影大哥的女人| 国产91精品成人一区二区三区| 成人性生交大片免费视频hd| 免费无遮挡裸体视频| 国产91精品成人一区二区三区| 麻豆成人午夜福利视频| 日韩精品中文字幕看吧| 国产亚洲欧美在线一区二区| 国产精品永久免费网站| 此物有八面人人有两片| 欧美黑人巨大hd| 老女人水多毛片| 老熟妇仑乱视频hdxx| 国产精品自产拍在线观看55亚洲| 校园春色视频在线观看| 亚洲成人久久性| av在线天堂中文字幕| 在线看三级毛片| 日韩精品中文字幕看吧| 琪琪午夜伦伦电影理论片6080| 一级av片app| 特级一级黄色大片| 五月玫瑰六月丁香| 成熟少妇高潮喷水视频| 成人国产一区最新在线观看| 欧美黑人巨大hd| 精品国内亚洲2022精品成人| 午夜a级毛片| 99riav亚洲国产免费| 免费人成在线观看视频色| 午夜福利18| 色精品久久人妻99蜜桃| 国产午夜精品论理片| www.色视频.com| 别揉我奶头~嗯~啊~动态视频| 国产精品亚洲美女久久久| 久久这里只有精品中国| 两人在一起打扑克的视频| 亚洲专区国产一区二区| 偷拍熟女少妇极品色| 内地一区二区视频在线| av天堂在线播放| 色精品久久人妻99蜜桃| 亚洲,欧美,日韩| 国产精品,欧美在线| 三级毛片av免费| 欧美激情久久久久久爽电影| 亚洲国产欧美人成| 乱码一卡2卡4卡精品| 久久欧美精品欧美久久欧美| 亚洲欧美日韩卡通动漫| 看黄色毛片网站| 97人妻精品一区二区三区麻豆| www.www免费av| 99久久99久久久精品蜜桃| 草草在线视频免费看| 国产成人av教育| .国产精品久久| 欧美一区二区国产精品久久精品| 日韩欧美在线二视频| 亚洲专区中文字幕在线| 久久天躁狠狠躁夜夜2o2o| 亚洲中文日韩欧美视频| 久久久久久久久大av| x7x7x7水蜜桃| 两个人的视频大全免费| 一个人观看的视频www高清免费观看| 国产欧美日韩精品一区二区| 久久精品国产亚洲av香蕉五月| 日韩 亚洲 欧美在线| 国产精品1区2区在线观看.| 琪琪午夜伦伦电影理论片6080| 欧洲精品卡2卡3卡4卡5卡区| 人人妻人人澡欧美一区二区| 亚洲欧美清纯卡通| 激情在线观看视频在线高清| 最近视频中文字幕2019在线8| 亚洲第一电影网av| 亚洲乱码一区二区免费版| 午夜免费激情av| 国产精品亚洲美女久久久| 88av欧美| 亚洲精品乱码久久久v下载方式| 男人舔奶头视频| 精品久久久久久久末码| 内射极品少妇av片p| 国产精品一区二区三区四区久久| 久久精品国产亚洲av天美| 欧美又色又爽又黄视频| 在现免费观看毛片| 熟女电影av网| 亚洲国产精品成人综合色| 天堂av国产一区二区熟女人妻| 一区福利在线观看| 亚洲一区高清亚洲精品| 日韩精品青青久久久久久| 亚洲精华国产精华精| 日日摸夜夜添夜夜添av毛片 | 日韩欧美在线二视频| 日韩人妻高清精品专区| 一边摸一边抽搐一进一小说| 99久久九九国产精品国产免费| 国产一区二区亚洲精品在线观看| 亚洲精品乱码久久久v下载方式| 神马国产精品三级电影在线观看| 97热精品久久久久久| 91在线观看av| 国产亚洲欧美在线一区二区| 中文字幕人妻熟人妻熟丝袜美| 免费看a级黄色片| 亚洲av免费高清在线观看| 内射极品少妇av片p| 亚洲av美国av| 天堂影院成人在线观看| 国产精品av视频在线免费观看| 亚洲人成伊人成综合网2020| 亚洲专区中文字幕在线| 99在线视频只有这里精品首页| 国产精品1区2区在线观看.| 免费看美女性在线毛片视频| 免费av观看视频| 五月玫瑰六月丁香| 色尼玛亚洲综合影院| 久久国产乱子伦精品免费另类| 精品欧美国产一区二区三| 亚洲经典国产精华液单 | 网址你懂的国产日韩在线| 亚洲狠狠婷婷综合久久图片| 少妇的逼水好多| 香蕉av资源在线| 亚洲欧美精品综合久久99| 91久久精品电影网| 午夜亚洲福利在线播放| 色尼玛亚洲综合影院| 天天一区二区日本电影三级| 久久欧美精品欧美久久欧美| 深夜精品福利| 禁无遮挡网站| 在线播放国产精品三级| 亚洲人成网站在线播| 亚洲avbb在线观看| 尤物成人国产欧美一区二区三区| 又爽又黄无遮挡网站| 级片在线观看| 亚洲中文字幕日韩| eeuss影院久久| 国产一区二区三区在线臀色熟女| 国产亚洲欧美98| 亚洲国产精品合色在线| 久久精品久久久久久噜噜老黄 | 床上黄色一级片| 国产日本99.免费观看| 激情在线观看视频在线高清| 国产高清激情床上av| 日韩亚洲欧美综合| 韩国av一区二区三区四区| 久久人人精品亚洲av| 成人午夜高清在线视频| 乱码一卡2卡4卡精品| 精品人妻偷拍中文字幕| 欧美日韩乱码在线| 国产高清三级在线| 欧美黄色片欧美黄色片| 九色国产91popny在线| 国产精品av视频在线免费观看| 能在线免费观看的黄片| 久久久久久久久久成人| 日韩欧美精品v在线| 丰满乱子伦码专区| 美女xxoo啪啪120秒动态图 | 亚洲人成网站高清观看| 日韩大尺度精品在线看网址| 成人欧美大片| 熟妇人妻久久中文字幕3abv| 一区二区三区高清视频在线| 99久久精品热视频| 性插视频无遮挡在线免费观看| 99热这里只有是精品50| 久久热精品热| 两个人视频免费观看高清| 尤物成人国产欧美一区二区三区| 成人毛片a级毛片在线播放| 黄色视频,在线免费观看| 久久精品国产亚洲av天美| 免费在线观看影片大全网站| 欧美一区二区亚洲| av黄色大香蕉| 国产一区二区三区视频了| 偷拍熟女少妇极品色| www.熟女人妻精品国产| 日本免费一区二区三区高清不卡| 99久久无色码亚洲精品果冻| 少妇高潮的动态图| 亚洲五月天丁香| 人妻制服诱惑在线中文字幕| 嫩草影院新地址| 欧美日本视频| 嫩草影院精品99| 午夜日韩欧美国产| 久久人人爽人人爽人人片va | 国产亚洲精品综合一区在线观看| 国产野战对白在线观看| 香蕉av资源在线| 国产亚洲av嫩草精品影院| 麻豆av噜噜一区二区三区| 欧美xxxx性猛交bbbb| 亚洲精品乱码久久久v下载方式| 日日摸夜夜添夜夜添av毛片 | 身体一侧抽搐| 日韩欧美三级三区| 欧美丝袜亚洲另类 | 国产黄a三级三级三级人| 99热这里只有是精品50| 长腿黑丝高跟| 小蜜桃在线观看免费完整版高清| 综合色av麻豆| 国产成+人综合+亚洲专区| 黄色视频,在线免费观看| 中文资源天堂在线| 超碰av人人做人人爽久久| 欧美日韩国产亚洲二区| 日日干狠狠操夜夜爽| 天天一区二区日本电影三级| 99久久无色码亚洲精品果冻| 九九在线视频观看精品| 男人和女人高潮做爰伦理| 身体一侧抽搐| 欧美xxxx性猛交bbbb| 日韩精品青青久久久久久| 99热6这里只有精品| 久久久久亚洲av毛片大全| 一级作爱视频免费观看| 在线观看66精品国产| a级毛片免费高清观看在线播放| 美女高潮的动态| 精品久久久久久久人妻蜜臀av| av在线蜜桃| 国产欧美日韩一区二区三| 欧美在线一区亚洲| 日本黄色片子视频| 小蜜桃在线观看免费完整版高清| 全区人妻精品视频| 在线观看66精品国产| 日韩欧美一区二区三区在线观看| 在现免费观看毛片| 内射极品少妇av片p| 国产精品av视频在线免费观看| 亚洲人与动物交配视频| 小说图片视频综合网站| 黄色视频,在线免费观看| 国产久久久一区二区三区| 亚洲精品在线观看二区| a在线观看视频网站| 欧美+日韩+精品| 国产欧美日韩精品亚洲av| 亚洲精品456在线播放app | 久久精品91蜜桃| 日日干狠狠操夜夜爽| a级一级毛片免费在线观看| 亚洲激情在线av| 国产精品亚洲av一区麻豆| 精品一区二区三区人妻视频| 国产精品久久久久久人妻精品电影| 日日夜夜操网爽| 亚洲av日韩精品久久久久久密| 亚洲午夜理论影院| 亚洲熟妇熟女久久| 99热这里只有精品一区| 亚洲一区二区三区色噜噜| 两个人视频免费观看高清| 成熟少妇高潮喷水视频| 欧美日本视频| 精品一区二区三区人妻视频| 91字幕亚洲| 亚洲精品成人久久久久久| 精品久久久久久久末码| 亚洲人成网站高清观看| 日本免费一区二区三区高清不卡| 亚洲av一区综合| 国产aⅴ精品一区二区三区波| 国产乱人视频| 一个人观看的视频www高清免费观看| 可以在线观看毛片的网站| 丰满的人妻完整版| 久久草成人影院| 一区二区三区高清视频在线| 岛国在线免费视频观看| 国产精品电影一区二区三区| 一进一出好大好爽视频| 日本撒尿小便嘘嘘汇集6| 99久久久亚洲精品蜜臀av| 久久天躁狠狠躁夜夜2o2o| 国产探花极品一区二区| 色哟哟·www| 国产成人啪精品午夜网站| 亚洲欧美日韩无卡精品| 久久午夜亚洲精品久久| 老熟妇乱子伦视频在线观看| 欧美一区二区亚洲| 中文字幕高清在线视频| 亚洲无线在线观看| 伊人久久精品亚洲午夜| 精品久久久久久久末码| 老熟妇仑乱视频hdxx| 日本黄色片子视频| 3wmmmm亚洲av在线观看| 久久久久久久亚洲中文字幕 | 啦啦啦韩国在线观看视频| 宅男免费午夜| 日本黄色片子视频| 日本 欧美在线| 中文字幕av在线有码专区| 国产伦人伦偷精品视频| 欧美最新免费一区二区三区 | 搡老熟女国产l中国老女人| 91久久精品国产一区二区成人| 成人特级黄色片久久久久久久| 国产成人aa在线观看| 亚洲国产精品999在线| 99久久成人亚洲精品观看| 99在线人妻在线中文字幕| 91狼人影院| 亚洲av电影在线进入| 久久精品国产亚洲av天美| 精品99又大又爽又粗少妇毛片 | 少妇熟女aⅴ在线视频| 女生性感内裤真人,穿戴方法视频| 国产在视频线在精品| 婷婷色综合大香蕉| 亚洲人成伊人成综合网2020| 每晚都被弄得嗷嗷叫到高潮| 欧美成狂野欧美在线观看| 亚洲成人免费电影在线观看| 18美女黄网站色大片免费观看| h日本视频在线播放| 免费人成视频x8x8入口观看| 日韩欧美在线乱码| 欧美成人性av电影在线观看| 身体一侧抽搐| 亚洲精品456在线播放app | www.www免费av| 国产乱人视频| 蜜桃久久精品国产亚洲av| 一二三四社区在线视频社区8| 亚洲一区二区三区不卡视频| 99riav亚洲国产免费| 97碰自拍视频| 色尼玛亚洲综合影院| 精品久久久久久久久av| 又黄又爽又免费观看的视频| 免费观看的影片在线观看| 午夜免费成人在线视频| 黄色丝袜av网址大全| 麻豆国产97在线/欧美| 在线十欧美十亚洲十日本专区| 禁无遮挡网站| 精品久久久久久,| 国产av一区在线观看免费| 欧美日韩中文字幕国产精品一区二区三区| 99久久九九国产精品国产免费| 1024手机看黄色片| 18禁黄网站禁片免费观看直播| 亚洲天堂国产精品一区在线| 亚洲av电影在线进入| .国产精品久久| 51国产日韩欧美| 少妇被粗大猛烈的视频| 啦啦啦韩国在线观看视频| а√天堂www在线а√下载| 成年女人看的毛片在线观看| 色视频www国产| 国产精品免费一区二区三区在线| 色5月婷婷丁香| 午夜老司机福利剧场| 国产精品影院久久| 在线播放国产精品三级| 中文字幕熟女人妻在线| 日本成人三级电影网站| 99热这里只有是精品在线观看 | 人人妻人人看人人澡| 嫩草影院入口| 久久欧美精品欧美久久欧美| 在线播放国产精品三级| 国产精品自产拍在线观看55亚洲| 久久香蕉精品热| 国产亚洲欧美98| 丰满人妻一区二区三区视频av| 免费av观看视频| www.www免费av| 2021天堂中文幕一二区在线观| av黄色大香蕉| 免费大片18禁| 身体一侧抽搐| 欧美另类亚洲清纯唯美| 欧美日韩中文字幕国产精品一区二区三区| .国产精品久久| 免费在线观看成人毛片| 丰满人妻一区二区三区视频av| 亚洲无线观看免费| 给我免费播放毛片高清在线观看| 美女大奶头视频| 免费在线观看日本一区| 69av精品久久久久久| 亚洲专区中文字幕在线| 黄色丝袜av网址大全| av在线天堂中文字幕| 亚洲精品在线美女| 久久久国产成人精品二区| 男女床上黄色一级片免费看| 黄色配什么色好看| 欧美xxxx性猛交bbbb| 亚洲综合色惰| 中文资源天堂在线| 亚洲av免费高清在线观看| 中文字幕人成人乱码亚洲影| a级一级毛片免费在线观看| 亚洲精华国产精华精| 日韩欧美国产在线观看| 99国产综合亚洲精品| 99视频精品全部免费 在线| 最新在线观看一区二区三区| 波多野结衣高清作品| 久久久久国产精品人妻aⅴ院| 麻豆成人午夜福利视频| 男女做爰动态图高潮gif福利片| 亚洲午夜理论影院| 久久九九热精品免费| 日韩中字成人| 国产精品一区二区免费欧美| 51午夜福利影视在线观看| ponron亚洲| 亚洲国产精品久久男人天堂| 极品教师在线免费播放| 不卡一级毛片| 欧洲精品卡2卡3卡4卡5卡区| 国产精品精品国产色婷婷| 国产精品亚洲一级av第二区| 免费看日本二区| 麻豆国产97在线/欧美| 久久国产精品影院| 国产单亲对白刺激| 国产三级黄色录像| 九九在线视频观看精品| 99久国产av精品| 丰满乱子伦码专区| 亚洲av五月六月丁香网| 美女cb高潮喷水在线观看| 国产精品久久久久久亚洲av鲁大| 又爽又黄无遮挡网站| 色哟哟哟哟哟哟| 99在线人妻在线中文字幕| 真人做人爱边吃奶动态| 麻豆国产97在线/欧美| 欧美潮喷喷水| 制服丝袜大香蕉在线| 在线观看免费视频日本深夜| 午夜激情福利司机影院| 一区福利在线观看| 看免费av毛片| 国产高清有码在线观看视频| 国产一区二区三区视频了| 国产精品亚洲av一区麻豆| 99热只有精品国产| 国产精品亚洲美女久久久| 美女cb高潮喷水在线观看|