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

Android仿instagram頭像點擊加載動畫

共 12000字,需瀏覽 24分鐘

 ·

2021-12-31 11:51

前段時間發(fā)現(xiàn)instagram點擊用戶頭像的加載小視頻動畫,效果如下:


對,就是轉(zhuǎn)圈圈的這個,這么酷炫,我也要做一個!在整理代碼和總結(jié)時候,神奇的事情發(fā)生了,在我日常刷微博的時候點開微博客戶端時候突然發(fā)現(xiàn):


緣分啊,發(fā)現(xiàn)了微博Android客戶端也上線了類似動畫!等等,不是類似,這是特么是除了顏色和ins的一毛一樣??!

既然這個動畫效果這么火,那還不趕快把我實現(xiàn)分享出來


如下就是實現(xiàn)的效果:


1、介紹


InsLoadingView繼承自ImageView,其對應(yīng)的image顯示為圓形。

InsLoadingView有三種狀態(tài):LOADING/UNCLICKED/CLICKED,Loading時候輪廓有不斷循環(huán)的動畫,如上圖(下文分析源碼時候會詳細闡明其過程)。

UNCLICKED時外側(cè)輪廓為靜態(tài)的彩色圈,CLICKED外層為靜態(tài)的灰色圈。此外,在其被點擊時還有控件收縮的動畫效果。

注意:由于狀態(tài)是與應(yīng)用中的情況相關(guān)的,所以狀態(tài)變化需要用戶手動去設(shè)置。

整體效果如下(感謝家里的喵主子~)


2、使用


如果你想在自己的項目中使用的話,可以按如下幾步進行:


Step 1


在build.gradle增加依賴:
dependencies {  compile 'com.qintong:insLoadingAnimation:1.0.1'}

Step 2


InsLoadingView繼承自ImageView, 所以最基本的,可以按照ImageView的用法使用InsLoadingView:
    android:layout_centerInParent="true"    android:id="@+id/loading_view"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:src="@mipmap/pink"/>

Step 3


設(shè)置狀態(tài):


您可以手動設(shè)置其狀態(tài),來對應(yīng)在您應(yīng)用中的當前狀態(tài)。

InsLoadingView的狀態(tài)有:

LOADING: 表示InsLoadingView被點擊之后正在加載內(nèi)容(未加載完畢之前),該狀態(tài)下動畫正在執(zhí)行。

UNCLICKED: 該InsLoadingView被點擊之前的狀態(tài),此狀態(tài)下動畫停止。

CLICKED: 表示InsLoadingView被點擊和加載過,此狀態(tài)下動畫停止切圓圈的顏色為灰色。

默認的狀態(tài)是LOADING。

可以通過一下代碼設(shè)置狀態(tài):

xml:
  app:status="loading" //or "clicked",or "clicked"

java:
  mInsLoadingView.setStatus(InsLoadingView.Status.LOADING); //Or InsLoadingView.Status.CLICKED, InsLoadingView.Status.UNCLICKED

設(shè)置顏色


設(shè)置start color和start color,InsLoadingView的圓圈會顯示兩個顏色間的過渡。

可以按如下代碼設(shè)置:

xml:
  app:start_color="#FFF700C2" //or your color  app:end_color="#FFFFD900" //or your color

java:
  mInsLoadingView.setStartColor(Color.YELLOW); //or your color  mInsLoadingView.setEndColor(Color.BLUE); //or your color

默認的start color和start color為#FFF700C2和#FFFFD900。


設(shè)置速度


通過設(shè)置環(huán)繞動畫的時間和整體旋轉(zhuǎn)的時間來改變速度:

xml:
  app:circle_duration="2000"  app:rotate_duration="10000"

java:
  mInsLoadingView.setCircleDuration(2000);  mInsLoadingView.setRotateDuration(10000);

默認的時間為2000ms和10000ms。

2、實現(xiàn)


下面就對代碼進行分析。

InsLoadingView繼承自ImageView,動畫效果主要通過重寫onDraw()函數(shù)重新繪制。所以可以先看onDraw()方法:
    @Override    protected void onDraw(Canvas canvas) {        canvas.scale(mScale, mScale, centerX(), centerY());        drawBitmap(canvas);        Paint paint = getPaint(getColor(0), getColor(360), 360);        switch (mStatus) {            case LOADING:                drawTrack(canvas, paint);                break;            case UNCLICKED:                drawCircle(canvas, paint);                break;            case CLICKED:                drawClickedircle(canvas);                break;        }    }

drawBitmap()為實現(xiàn)顯示圓形圖片重新完成了繪制圖片的過程。之后根據(jù)當前status繪制圖片外的圈:status為LOADING時候繪制時是動畫,其他兩種情況繪制是靜態(tài)的圓圈。

(1) 動畫繪制:


LOADING時候的動畫是項目中最核心的部分。從動畫效果中可以看出,圓弧的兩端都在運動:運動較慢的一端其實反應(yīng)了外圈的整體旋轉(zhuǎn)(連同顏色),較快一端的旋轉(zhuǎn)還有兩個過程:圓弧向外“伸展”一圈和向回“收縮”一圈的過程。

degress和cricleWidth是實時變化的,他們的值由ValueAnimator設(shè)置,這兩個值分別表示整個動畫整體旋轉(zhuǎn)的角度(也就是動畫中轉(zhuǎn)速較慢一端)和轉(zhuǎn)速較快的圓弧的動畫。兩個變量的單位都是度degress范圍為0-360,cricleWidth范圍為-360到360。cricleWidth圓弧向回“收縮”和向外“伸展”的過程,分別對應(yīng)代碼中的a和b過程,對應(yīng)的circleWidth范圍為-360—0度和0—360度。

在a過程中,cricleWidth + 360換算得到成正的adjustCricleWidth,adjustCricleWidth到360度繪制一個扇形圓弧,adjustCricleWidth到0度,依次向后每隔12度畫小的扇形圓弧,圓弧的寬度遞減。

b過程中:從0到cricleWidth:最前端繪制4個小扇形圓弧,其后到0度繪制一個長圓弧。從360度到cricleWidth,每間隔12度依次繪制小圓弧,其寬度遞減。
    private void drawTrack(Canvas canvas, Paint paint) {        canvas.rotate(degress, centerX(), centerY());        canvas.rotate(ARC_WIDTH, centerX(), centerY());        RectF rectF = new RectF(getWidth() * (1 - circleDia), getWidth() * (1 - circleDia),                getWidth() * circleDia, getHeight() * circleDia);        if (DEBUG) {            Log.d(TAG, "cricleWidth:" + cricleWidth);        }        if (cricleWidth < 0) {            //a            float startArg = cricleWidth + 360;            canvas.drawArc(rectF, startArg, 360 - startArg, false, paint);            float adjustCricleWidth = cricleWidth + 360;            float width = 8;            while (adjustCricleWidth > ARC_WIDTH) {                width = width - arcChangeAngle;                adjustCricleWidth = adjustCricleWidth - ARC_WIDTH;                canvas.drawArc(rectF, adjustCricleWidth, width, false, paint);            }        } else {            //b            for (int i = 0; i <= 4; i++) {                if (ARC_WIDTH * i > cricleWidth) {                    break;                }                canvas.drawArc(rectF, cricleWidth - ARC_WIDTH * i, 8 + i, false, paint);            }            if (cricleWidth > ARC_WIDTH * 4) {                canvas.drawArc(rectF, 0, cricleWidth - ARC_WIDTH * 4, false, paint);            }            float adjustCricleWidth = 360;            float width = 8 * (360 - cricleWidth) / 360;            if (DEBUG) {                Log.d(TAG, "width:" + width);            }            while (width > 0 && adjustCricleWidth > ARC_WIDTH) {                width = width - arcChangeAngle;                adjustCricleWidth = adjustCricleWidth - ARC_WIDTH;                canvas.drawArc(rectF, adjustCricleWidth, width, false, paint);            }        }    }

(2) 點擊View收縮效果:


在onDraw()方法中有:
canvas.scale(mScale, mScale, centerX(), centerY());

控制了View在點擊后的整體收縮效果,mScale參數(shù)由ValueAnimator和觸摸事件控制。在onTouchEvent()中我們要分析event,ACTION_DOWN時候按下mScale開始變小,從當前值向最向0.9變化(中間值由ValueAnimator生成),在ACTION_UP和ACTION_CANCEL時候手指抬起,mScale由當前值向1變化。

這里值得注意的是,在重寫onTouchEvent()時候,有兩點要注意:

1、要保證super.onTouchEvent(event)被調(diào)用,否則該View的OnClickListener和OnLongClickListener將不會響應(yīng)(具體可見事件傳遞機制,OnClickListener/OnLongClickListener層級最低)。

2、在處理ACTION_DOWN時候要保證返回值為True,否則同次動作的ACTION_UP等事件將不會再響應(yīng),這也是事件傳遞機制的內(nèi)容。為保證這兩點,此處代碼如下:
    @Override    public boolean onTouchEvent(MotionEvent event) {        boolean result = false;        if (DEBUG) {            Log.d(TAG, "onTouchEvent: " + event.getAction());        }        switch (event.getAction()) {            case MotionEvent.ACTION_DOWN: {                startDownAnim();                result = true;                break;            }            case MotionEvent.ACTION_UP: {                startUpAnim();                break;            }            case MotionEvent.ACTION_CANCEL: {                startUpAnim();                break;            }        }        return super.onTouchEvent(event) || result;    }
private void startDownAnim() { mTouchAnim.setFloatValues(mScale, 0.9f); mTouchAnim.start();
}
private void startUpAnim() { mTouchAnim.setFloatValues(mScale, 1); mTouchAnim.start(); }

(3) ValueAnimator:


該項目用到了三個ValueAnimator:分別控制前文的degress,cricleWidth以及mScale,繪制圓弧的過程中是減速的過程,所以用了減速插值器,其他兩個過程用的都是線性插值器。此外,還需要判斷當前是繪制圓弧向外伸展還是向內(nèi)伸縮,所以用了個boolean值isFirstCircle進行判斷,在動畫Repeat時候?qū)ζ渲捣崔D(zhuǎn)。代碼如下:
    private void onCreateAnimators() {        mRotateAnim = ValueAnimator.ofFloat(0, 180, 360);        mRotateAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {            @Override            public void onAnimationUpdate(ValueAnimator animation) {                degress = (float) animation.getAnimatedValue();                postInvalidate();            }        });        mRotateAnim.setInterpolator(new LinearInterpolator());        mRotateAnim.setDuration(mRotateDuration);        mRotateAnim.setRepeatCount(-1);        mCircleAnim = ValueAnimator.ofFloat(0, 360);        mCircleAnim.setInterpolator(new DecelerateInterpolator());        mCircleAnim.setDuration(mCircleDuration);        mCircleAnim.setRepeatCount(-1);        mCircleAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {            @Override            public void onAnimationUpdate(ValueAnimator animation) {                if (isFirstCircle) {                    cricleWidth = (float) animation.getAnimatedValue();                } else {                    cricleWidth = (float) animation.getAnimatedValue() - 360;                }                postInvalidate();            }        });        mCircleAnim.addListener(new Animator.AnimatorListener() {            @Override            public void onAnimationStart(Animator animation) {
}
@Override public void onAnimationEnd(Animator animation) {
}
@Override public void onAnimationCancel(Animator animation) {
}
@Override public void onAnimationRepeat(Animator animation) { isFirstCircle = !isFirstCircle; } }); mTouchAnim = new ValueAnimator(); mTouchAnim.setInterpolator(new DecelerateInterpolator()); mTouchAnim.setDuration(200); mTouchAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { mScale = (float) animation.getAnimatedValue(); postInvalidate(); } }); startAnim(); }

(4) 繪制圓形圖片:


由于與ImageView不同,這里圖片要顯示成圓形,所以這里我們通過Drawble拿到Bitmap對象后,將其BitmapShader修剪成正方形,paint的shader設(shè)置為其BitmapShader,再用該paint畫圓:
    private void drawBitmap(Canvas canvas) {        Paint bitmapPaint = new Paint();        setBitmapShader(bitmapPaint);        RectF rectF = new RectF(getWidth() * (1 - bitmapDia), getWidth() * (1 - bitmapDia),                getWidth() * bitmapDia, getHeight() * bitmapDia);        canvas.drawOval(rectF, bitmapPaint);    }
private void setBitmapShader(Paint paint) { Drawable drawable = getDrawable(); Matrix matrix = new Matrix(); if (null == drawable) { return; } Bitmap bitmap = drawableToBitmap(drawable); BitmapShader tshader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); float scale = 1.0f; int bSize = Math.min(bitmap.getWidth(), bitmap.getHeight()); scale = getWidth() * 1.0f / bSize; matrix.setScale(scale, scale); if (bitmap.getWidth() > bitmap.getHeight()) { matrix.postTranslate(-(bitmap.getWidth() * scale - getWidth()) / 2, 0); } else { matrix.postTranslate(0, -(bitmap.getHeight() * scale - getHeight()) / 2); } tshader.setLocalMatrix(matrix); paint.setShader(tshader); }
private Bitmap drawableToBitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable; return bitmapDrawable.getBitmap(); } int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, w, h); drawable.draw(canvas); return bitmap; }

(5) 顏色:


在onDraw()中,getPaint()得到了從mStartColor到mEndColor的過渡的顏色:
   Paint paint = getPaint(mStartColor, mEndColor, 360);

其中:
    private Paint getPaint(int startColor, int endColor, double arcWidth) {        Paint paint = new Paint();        Shader shader = new LinearGradient(0f, 0f, (float) (getWidth() * circleDia * (arcWidth - ARC_WIDTH * 4) / 360),                getHeight() * strokeWidth, startColor, endColor, CLAMP);        paint.setShader(shader);        setPaintStroke(paint);        return paint;    }

(6) 重寫onMeasure():


因為該控件是圓形,所以還需要重寫onMeasure()方法,使其最后長和高一致,并針對MATCH_PARENT和WRAP_CONTENT以及指定具體寬高的情況下分別處理,注意WRAP_CONTENT下這里是指定了最大寬/高為300px,這與ImageView不同。代碼如下:
    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        final int widthSpecMode = MeasureSpec.getMode(widthMeasureSpec);        final int widthSpecSize = MeasureSpec.getSize(widthMeasureSpec);        final int heightSpecMode = MeasureSpec.getMode(heightMeasureSpec);        final int heightSpecSize = MeasureSpec.getSize(heightMeasureSpec);        if (DEBUG) {            Log.d(TAG, "onMeasure widthMeasureSpec:" + widthSpecMode + "--" + widthSpecSize);            Log.d(TAG, "onMeasure heightMeasureSpec:" + heightSpecMode + "--" + heightSpecSize);        }        int width;        if (widthSpecMode == MeasureSpec.EXACTLY && heightSpecMode == MeasureSpec.EXACTLY) {            width = Math.min(widthSpecSize, heightSpecSize);        } else {            width = Math.min(widthSpecSize, heightSpecSize);            width = Math.min(width, 300);        }        setMeasuredDimension(width, width);    }

總結(jié)


InsLoadingAnimation主要是由屬性動畫實現(xiàn),也加深了對View的生命周期和事件傳遞等方法的理解。更進一步的,也練習了canvas上的繪圖。最后我們就有了和Instagram和微博一樣炫酷的動畫效果~

源碼地址:
https://github.com/qintong91/InsLoadingAnimation

到這里就結(jié)束啦。
瀏覽 119
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

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

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 男女视频网站| 99热免费| 内射极品美女| 色婷婷五月天在线观看| 久久黄色视屏| 日本在线不卡一区| 一级片在线| 日韩一级免费毛片| 人人香蕉| 黄色av免费在线| 蜜桃久久久亚洲精| 久久国产乱子伦精品免费女,网站| 久操福利| 韩日一区二区三区| 国产日韩二区| 亚洲欧美久久久久久久久久久久 | 精品一区二区三区免费毛片| 欧美亚洲图区| yjizz视频网| 欧美成人一区二区三区片| 国产无码一区| 无码人妻丰满熟妇| 2025av天堂网| 成人先锋| 91欧美精品成人综合在线观看| 日韩视频免费看| 亚洲性爱在线| 亚洲精品视频无码| 国产无码免费在线观看| 亚洲无码精品一区二区三区| av天堂资源在线| 国产精品日韩| 国产欧美综合视频一区二区在线| 东京热这里只有精品| 高清无码在线不卡| 日韩特一级| 特黄无码| 午夜成人精品一区二区三区| 国产毛片欧美毛片高潮| 91精品国产成人观看| 久久久久大香蕉| 欧美精产国品一区二区区别| 久久久成人免费视频| 成年人免费毛片| 久久综合久久鬼色| 亚洲无码黄色电影| 日韩无码高清视频| 国产无码自拍| 男女啪啪免费网站| 日韩精品一二三| 免费AV毛片| 国产成人亚洲综合AV婷婷| 国产成人69| 日逼老女人| 99九九99九九九99九他書對| 欧美日韩有码视频网址大全| 日本黄色免费视频| 狠狠干在线视频| 日日干天天射| A片视频免费观看| 喷水视频在线观看| 大香蕉尹人在看| 北条麻妃九九九在线视频| 黄色插逼视频| 亚洲av成人网| 欧美一区| 波多野结衣无码高清| 91大片| 国产午夜在线| 免费v片在线观看| 亚洲AV小说| 亚洲性爱视频| 五月婷婷色播| 日本AⅤ电影| 一级黄片免费视频| 欧美操逼小视频| 波多野结衣被操| 国产AV无遮挡| 婷婷深爱五月丁香网| 美女一级变态毛片| 色色97| 日韩免费视频在线观看| 欧美精品久久久久久| 中文字幕无码Av在线看| 另类老妇videos另类| 爱操逼综合网| 中文字幕第69页| 亚洲精品乱码久久久久久| 亚洲草逼| av影片在线播放| 97精品人妻一区二区三区香蕉| 黄色视频在线观看地址| 青青草视频91| 亚洲午夜激情| 91在线欧美| 久草视频资源| 国产熟妇搡BBBB搡BBBB搡 | 亚洲在线视频| 国产精品久久久久久久久免费无码| 激情五月天网站| 西西444www| 色婷婷视频在线| 婷婷伊人綜合中文字幕| 亚洲黄色免费在线观看| 男人天堂无码| 中文在线字幕电视剧免费平台| 岛国AV免费看| 国产XXXXX| 三级片麻豆| 毛多水多丰满女人A片| 国产黄色免费乱伦片| 成人毛片在线播放| 粉嫩小泬BBBBBB免费| 最近2019中文字幕mv第三季歌词 | 欧美日韩国产成人在线| 亚洲av动漫| 青草视频在线免费观看| 亚洲天堂在线观看免费| 搡中国东北老女人视频| 欧美日韩一区二区在线观看| 久久婷婷六月综合| 秋霞国产| 99在线视频精品| 亚洲有码在线播放| 国产一区二区视频在线观看| 一级特黄大片录像i| 第一福利视频导航| 色女人天堂| 无码专区一区二区三区| 看操逼视频| 亚洲人成电影| 久久精品大屁股| 秋霞一区二区三区无码| 国产美女啪啪| 69视频在线免费观看| 51一区二区三区| 国产又黄又大又粗的视频| 大香蕉伊人网视频| 91人人妻人人爽| 亚洲综合人妻| 狠狠躁日日躁夜夜躁A片男男视频| 超碰97老师| 午夜成人中文字幕| 综合大香蕉| 免费无码在线| 老女人毛片| 大香伊人久久| 一区不卡| 99视频在线免费观看| 日韩精品高清中文| 久久精品水多多www| 成人在线观看网| 欧美色逼| 精品人妻在线| 在线性视频| 99久久国产热无码精品免费| 一级黄色电影免费| 视频一区二区三| 色中色在线视频| 国产精品tv| 亚洲中文字幕码mv| 婷婷五月天激情四射| 91人妻人人澡人人精品| 欧美footjob高跟脚交| 国产三级性爱| 91蝌蚪视频在线| 大学生18一19GAY169| 天天看高清无码| 青春草在线播放| 啪啪网站免费观看| 在线亚洲欧美| 免费无码毛片| 在线无码一区| 91精东传媒果冻传媒| 辽宁模特张雪馨视频最新| 欧美怕怕怕| 2020人妻中文字幕| 日韩午夜在线观看| 国语操逼| 韩国精品在线观看| 91欧美在线| 黄片免费观看视频| 成人视频网站在线观看| 天天爽夜夜爽AA片免费| 五月天婷婷在线观看视频| 欧美亚洲操逼视频| aaaaaa在线观看免费高清| 欧美伊人大香蕉| 亚洲AV无码成人精品国产五月天| 99热国产在线| 超碰小说| 高清无码成人视频| 日韩av小电影| 亚洲二级片| 日韩人妻无码一区| 中文无码在线| 丁香五月婷婷综合网| 在线观看免费视频a| 夜夜嗨Av禁果Av粉嫩AV懂色Av| h亚洲| 18禁一区| 欧美日韩免费在线观看| 天天射综合| 69堂在线观看| 97午夜福利视频| 欧美精品一卡二卡| 超碰一级片| 欧美性网| 国产操逼免费| 国产白嫩精品久久久久久| 久久91久久久久麻豆精品| 乱伦99| 天堂网www| а中文在线天堂精品| 日韩日日日| 成人免费无码婬片在线观看免费 | 五月天丁香社区| 俺来也官网欧美久久精品| 午夜成人免费福利| 亚洲黄色免费看| 午夜成人福利片| 日本黄色免费| 精品国产免费观看久久久_久久天天| 日本少妇中文字幕| 逼特逼在线视频| 天天做夜夜操| 欧美性爱一区二区| h在线| 99在线精品观看| 中文字幕高清无码在线观看| 国产中文字幕在线视频| 轻轻操内射无码| 亚洲aaaaaa| 日比视频网站| 日本色色网站| 青青草AV| 精品中文视频| 四川少妇bbbbbbbbb| 成人黄网免费观看视频| 91激情| 久久久精品少妇| 黄色内射视频| 成人做爰黄AA片免费看三区| 在线看片a| 亚洲一级无码视频| 亚洲AV秘成人久久无码海归| 人人草人人看| 欧美黄片免费看| 日韩在线视频二区| 国产精品91在线| 四虎成人视频| 久久任你操| 国产精品中文字幕在线观看| 亚洲ww| 国产精品一区二区在线| 欧美精品无码久久久精品酒店| 地表最强网红八月未央道具大秀| 东北老女人操逼视频| 亚洲AV成人无码精在线| 一級免費网站| 亚洲黄色电影在线| 欧美久久网| 国产嫩草久久久一二三久久免费观看 | 高清无码视频免费看| 久热青草| 婷婷欧美| 亚洲天堂AV2025| 国产69久久精品成人看| 国产亚洲中文字幕| 欧美高清无码| 亚洲无码在线精品| 大香蕉久操视频| 成人免费黄片| 欧美XX888做受| 超碰93| 超碰免费97| 成人久久大香蕉| 山西真实国产乱子伦| 国产精品扒开腿做爽爽爽A片唱戏 中文字幕一区二区三区精华液 | 亚洲色婷婷久久精品AV蜜桃| 国产av网站大全| 成人网站在线观看视频| www,操逼| 欧美888| 17c.白丝喷水自慰| 亚洲AV无码成人网站国产网站| 超碰97在线精品国产| jjzz亚洲| 国产女人免费| 中文字幕高清| 久久久9999| 日本中文字幕乱伦| 色天使视频| 操逼动漫| 大香蕉色婷婷| 亚洲黄色一区| 69精品| 一区二区三区福利| 婷婷五月天网址| 日本成人性爱视频网站一区| 国产第五页| 国产精品视频免费看| 激情淫荡少妇| 亚洲AV无码成人精品一区| 成人网站av| 色94色.欧美.setu| 色婷婷老师| 一级片黄色| 九九九九精品视频| 日韩中文字幕精品| 日韩黄色电影网站| 免费的黄色视频网站| 亚洲成人久久久| av大香蕉| 婷婷五月中文| 亚洲午夜视频在线观看| 日日夜夜超碰| 91在线无码精品秘入口国战| 操逼无码| 懂色AV成人| 日韩在线视频网站| 好爽~要尿了~要喷了~同桌 | 韩国无码一区二区| 久久精品国产亚洲| 国产91黄色| 三上悠亚无码破解69XXX| 国产精品自拍视频| 四虎影成人精品A片| 色五月婷婷五月| 欧美在线观看一区二区| 91吴梦梦一区二区传媒| 苍井空亚洲精品AA片在线播放 | 大香蕉男人天堂| 亚洲无码影视| 国产视频入口| 国产免费久久| 黄色大片网址| 黄色伊人网| 日韩在线观看视频免费| 亚洲一区三区| 2015中文字幕黄色视频| 亚洲无码AV网站| 69超碰| 97久久超碰| 国产精品久久久久久久久久两年半 | 黑人精品欧美一区二区蜜桃| 超碰99在线| 欧美日韩国产91| 伊人自拍| 骚BBBB槡BBB槡BBB| 99久久精| 开心色播五月天| 欧美日韩国内| 欧美h| 俺来操| 人人妻人人澡人人爽久久con| a无码视频在线观看| 免费黄色在线视频| 日韩中文字幕专区| 欧美成人无码A片免费| 伊人热久久| 操B网址| 成人网站视频| 国产高清无码一区二区三区| 苍井空中文字幕在线观看| 大香蕉欧美视频| 国家一级A片| 免费观看一区二区三区| 成人三级AV在线| 免费视频无码| 热久久亚洲中文字幕| 中国免费XXXX18| 91视频在线| 中文字幕在线观看二区| 中文字幕精品人妻在线| 人人肏屄| 中文字幕免费视频在线播放| 日韩在线看片| 成人做爰100片免费看| 日韩大鸡巴| 国产天天操| 精品无码一区二区Av蜜桃| 日韩一级在线观看| 欧美伊人在线| 嘿咻无码| 狠狠躁18三区二区一区免费人| 亚洲欧美熟妇久久久久久久久| 99久久精品国产一区二区成人| 91激情电影| 国产精品乱子伦一区二区三区视频 | 国产v欧美| 91成人做爰A片| 国产伦精品一区二区三区视频女| 国产又爽又黄免费视频免费观看| 四川少妇bbbbbbbbb| 少妇精品无码一区二区免费视频| 久草视频免费看| AV成人| 超碰人人爱国产视| 特级毛片AAAAAA蜜桃| 苍井空一区二区三区| 麻豆精品在线播放| 日韩成人无码电影| 国产精品2| 色天堂视频| 婷婷五月综合中文字幕| 欧美色图在线视频| 国产精品久久免费| 亚洲视频一区| 一本色综合亚洲精品| 吴梦梦一区二区三区| 日本三级韩三级99久久| 久久久久亚洲AV成人片乱码| 西西人体大胆ww4444| 色男人的天堂网| 日皮免费视频| 日韩美女久久| 91人妻在线| 亚洲AV成人网| 成人免费毛片视频| 男人午夜天堂| 黄色片视频日本| 黄片高清免费| 国产v亚洲| 嫩草亚洲小泬久久夂| 日本黄色免费在线观看| 黄网在线| 欧美日韩国产激情| 国产精品成人国产乱| 51av在线| 骚骚肥肥一区二区三区| 嫩BBB嫩BBB嫩BBB| 久久中文字幕视频| 色老板在线视频| 国产黄色免费乱伦片| 无码不卡在线播放| www深夜成人a√在线| 黄在线| 老湿机91| 日本操逼电影| 美女国产精品| 免费在线黄片| 毛片毛片毛片毛片毛片| 视频一区在线播放| 91丨九色丨东北熟女| 激情五月婷婷综合| 天天都色| 中文字幕在线观看网址最新地址| 动漫人物插画动漫人物的视频软件 | 秋霞久久| 青青草视频免费看| A黄色片| 久久看片| 国产一区二区00000视频| 日韩欧美二区| 国产SM视频| 亚洲乱妇| 熟女嗷嗷叫高潮合集91| 精品爆乳| 免费黄色av| 黄片小视频在线观看| 国产AVwww| 久久久久久久久久久高清毛片一级 | 成人婷婷网| 桃色AV| 欧美成人超碰| 国产成人自拍视频在线| 777在线视频| 骚逼黄片| 国产91小视频| 在线视频一区二区三区| 久久免费视频,久久免费视频 | 日日干日日干| 久久久久久久极品内射| 91嫩草欧美久久久九九九| 69xx视频| 欧美激情久久久| 中文字幕视频一区| 日韩精品三级| 亚洲精品白浆高清久久久久久 | 超碰a片| 婷婷五月天激情小说| 人人摸人人操人人射| 最新日韩中文字幕| 国产午夜视频在线观看| 欧美一级久久| 国产乱伦视屏| 成人免费在线视频| 五月婷婷色综合| www日本在线| 91一区二区| 亚洲小视频在线| 亚洲免费人妻| 波多野结衣vs黑人巨大| 免费黄色一级片| 高清亚洲| 69AV网站| 久草在线| 日韩成人黄色电影| 97国产精品视频人人做人人爱| 97人妻碰碰中文无码久热丝袜| 韩国一级av| 久久九九热| 熟妇高潮一区二区高潮| 国产成人在线免费观看| 日韩精品一区二区在线观看| 人妻中文字幕av| 欧美撒色逼撒| 国产精品观看| 国产精品一区二区在线观看 | 国产娇小13videos糟蹋| 中韩日美免费看的电影| 天天撸天天干天天日| 日本精品二区| 视频二区| 二级黄色毛片| 插进去综合图| 良妇露脸15P| 久久6精品| 大香蕉99热| 人人摸人人| 99爱在线观看| 欧美日韩精品一区二区三区视频播放| 一级片电影网站| 99热这里有精品| 国产成人无码一区二区| 国产又粗又猛又爽又黄91精品| 国产卡一卡二在线观看| 操逼欧美| 99热最新在线| 亚洲视频大全| 亚洲美女视频网| 综合色国产精品欧美在线| 日韩人妻在线观看| 国产aa片| 国产又爽又黄网站免费观看| 熟女人妻一区二区三区| 亚洲成人在线免费观看| 成人精品水蜜桃| 国内精品久久久久久久久久| 一级黄A片| 91五月天| 大香蕉官网| 中文字幕丰满熟妇人妻| 人人舔人人草| 亚洲激情成人| 亚洲女人被黑人巨大的原因| 丰满少妇一区二区三区| 欧美AAA在线观看| 日韩无码视频播放| 亚洲va综合va国产va中文| 懂色aV| AV一区二区三区四区| 大香蕉国产在线视频| 一区二区国产视频| 九九r在线精品观看视频| 成人一级电影| 天天操天天撸| 无码不卡av| av无码免费在线观看| 免费人成年激情视频在线观看| 大肉大捧一进一出两腿| 色视频在线| 丝袜一区二区三区| 亚洲色图88| 操逼网站在线| 亚洲免费视频在线观看| 久久理伦| 欧美在线一级| 色欲欲www成人网站| 操屄视频免费观看| 国产精品一区网站| 久久婷婷五月综合| 狠狠撸在线观看| 好男人WWW一区二区三区| 欧美午夜性爱视频| 91精品国产乱码久久久| 成人在线免费观看国产| 黄色片视频网站| 日韩人妻在线视频| 成人A√| 亚洲AV电影天堂| 污视频在线免费| 亚洲视频一区| 亚洲无码一| 日本色色网站| 久久在线免费视频| 中文字幕北条麻妃在线| 日韩中文无码电影| 一道本无码免费视频| 蜜桃一区二区中午字幕| 无码精品视频| 亚洲三级片视频| 无码窝在线观看| 大香蕉免费在线观看| 黄色香蕉视频| 日p视频在线观看| 国产人成视频免费观看| 亚洲午夜久久久久久久久久久| h片在线| 欧美三级欧美成人高清| 欧美性性生交XXXXX无码| 免费69视频看片| 色综合久久88色综合| 免费视频在线观看黄| 国产AV18岁| 麻豆91麻豆国产传媒| 99r| 人妻久久久| 亚洲欧美高清| 欧洲AV在线| 99无码精品| 亚洲精品色婷婷| 国产精品女人精品久久久天天| 激情淫荡少妇| 日韩性爱在线| 嫩BBB嫩BBB嫩BBBn嫩| 狠狠撸在线观看| 亚洲AV成人无码精品直播在线| 91超碰久久在线| 国产在线观看不卡| 真实白嫖91探花无码| 简单AV网| 亚洲青娱乐在线| 91福利视频网| 亚洲国产精品久久久久婷婷老年 | A黄色片| 日韩久久综合| 日本国产在线观看| 欧美成人免费A级在线观看| 欧一美一婬一伦一区二区三区黑人-亚 | 日本中文在线观看| 久久久久久久久久国产精品| 欧美国产操逼| 操碰在线观看| 中国老女人日逼| 亚洲色婷婷五月| 麻豆91久久久| 懂色在线精品分类视频| 欧美操逼视频| 欧美黄片免费| 国产精品久久久久久久久久乐趣播| 欧美后门菊门交| 在线免费观看黄色电影| 日韩少妇视频| 国产又爽又黄在线看视频| 亚欧洲精品| 国产8区| 婷婷国产精品| 国产无遮挡又黄又爽又色| 九九精品在线视频| 亚洲在线无码| 国产亚洲成人综合| 免费在线观看无码| 四虎看片| 国产成人精品久久二区二区91| 狠狠做深爱婷婷久久综合一区| 干妞网免费视频| 91在线成人视频| 国产xxxx| 青娱乐青青草| 亚洲资源在线| 免费无码成人片在线观看在线| 99乱伦| 一区二区三区四区久久| 日韩操操| 99免费精品视频| 麻豆mdapp03.tⅴ| 日韩欧美A片| A片视频免费看| 九九九成人网| 午夜黄色影院| 亚洲性爱无码| 久久国产精品久久| 特级毛片片A片AAAAAA| av香蕉| 日韩一级电影在线观看| 狠狠撸狠狠操| 免费乱伦视频| 91含羞草www·Com| 日韩成人高清无码| 丁香五月色情| 日韩免费在线观看视频| 欧美久草| 五月丁香天堂网| 免费AV片| 九九热精品视频在线观看| www.黄色在线观看| 影音先锋天堂| 亚洲综合色婷婷| 欧美黄色电影网站| 超碰精品| 岛国AV在线| 久久肏| 青草网| 亚洲第一网无码性色| 日本三级片视频不卡| 成人免费毛片视频| 国产免费看| 国产成人精品a区在线观看| 做aAAAAA免费视频| 国产精品免费麻豆| 综合激情av| 二区三区在线观看| 免费观看黄色在线视频| 午夜福利无码电影| 亚洲娱乐在线| 国产中文字幕波多| 精品无码人妻一区二区三区| jzzijzzij亚洲成熟少妇在线播放 黑人猛躁白人BBBBBBBBB | 日韩一级黄色毛片| 麻豆射区| 四lll少妇BBBB槡BBBB| 天天干中文字幕| 大鸡吧在线视频| 久久99精品视频| 日韩电影一区| 色婷婷在线播放| 4444操| 人妻无码HEYZO少妇精品| JlZZJLZZJlZZ亚洲女人17| 亚洲美女视频在线| 免费AV网站在线| 十八无码成人免费网站| 国产1级a毛a毛1级a毛1级| 四川BBB嫩BBBB爽BBBB| 国产精品成人免费视频| 2022黄片| 91欧美在线| 日韩黄色AV| 成人黄色免费| 日本AI高清无码在线观看网址| 欧美专区一区| 免费无码视频| 日韩不卡av| 91ThePorn国产| 波多野结衣AV在线观看| 手机看片国产| 国产av一区二区三区四区| 开心五月激情婷婷| 翔田千里无码在线| 北条麻妃91| 无码人妻一区二区三区| 国产一级黄片| 亚洲AV无码一区毛片AV| 欧美日韩中文在线观看| 国产天堂在线观看| 亚洲日韩三级| 激情综合婷婷久久| 男人天堂2024| 日韩色| 亚洲天堂网站| 五月婷婷免费视频| 国产精品做爱| 91一二区| 中文字幕在线免费播放| 97在线观看免费视频| 国产精品无码永久免费不卡| 亚洲精品三级| 五月色综合网| www.av在线播放| 青青草狠狠干| 蜜桃传媒av| 欧美日韩在线视频观看| 亚洲热在线观看| 亚洲日本中文字幕| 色av影音先锋无吗一区| 日韩无码三级视频| 日韩美女久久| 国产高清视频在线播放| 日韩肏屄视频| 俺去俺来也www色视频| 亚洲女与黑人正在播放| 久色婷婷在线| 日韩A毛片| 国产亲子乱XXXXimim/| eeuss一区二区| 男女啪啪网| 日日摸日日| 日韩无码第一页| 白峰美羽人妻AND-499| 婷婷五月综合激情| 婷婷毛片| 老骚逼| 婷婷五月在线视频| 日鸡吧链接| 嫩BBB搡BBBB搡BBBB| eeuss在线| 亚洲精品中文字幕在线观看| 91av免费观看| 在线看片a| 久久理论电影| 亚洲欧美在线视频观看| 日韩在线视频中文字幕码无| 另类老妇videos另类| 久久精品一区二区| 欧美东京热视频| 国产在线1| 色综合久久久无码中文字幕999| 欧美天堂在线观看| 俺来也俺去也| 欧美精品无码久久久精品酒店| 91久久人澡人妻人人澡人人爽| av婷婷五月天| 古装一级无遮挡A片| 操B在线| 国产精选在线| 亚洲熟妇AV日韩熟妇在线| 欧洲第一无人区观看| 人人澡人人干| 日韩无码网| 老鸭窝久久久| 大帝av| 欧美亚洲中文字幕| 欧一美一婬一伦一区| 69午夜| 国产亚洲无码激情前后夹击| www九九热| 91在线小视频| 色欲国产精品欧美在线密| 高清无码操逼视频| 免费看日逼视频| 臭小子晚上让你爽个够视频| 国产黄色自拍视频| 操逼基地| 国产午夜精品一区二区三区嫩A| 美女福利在线| 97国产在线视频| 国产色秘乱码一区二区三区| 亚洲高清福利视频| 黄网免费| 国产福利91精品| 性爱精品视频| 国产免费AV在线观看| 亚州一区| 天天av天天av天天爽| 蜜桃av秘无码一区二区三| 无码秘蜜桃一区二区三区| 亚洲视频网站在线观看| 免费看A| 亚欧成人在线视频| 99黄色电影| 人成视频在线| 黄色片在线| 444444在线观看免费高清电视剧木瓜一| 黄色a级毛片| 毛多水多丰满女人A片| 欧美三级片网站| 欧一美一婬一伦一区二区三区| 亚洲视频网站在线观看| 久久草视频| 北条麻妃一区二区三区在线 | 天天撸免费视频| 蜜桃传媒入口| 中文乱伦视频| 性爱综合网| 日本人妻在线播放| 熟女老阿V8888AV| 69国产精品成人无码| 动图综合亚洲综合欧美男男 | 亚洲色欲av| 良妇露脸15P| 亚洲AVA| 欧美日韩国产成人综合| 婷婷五月天网址| AV大香蕉| 天天艹av| 欧美在线免费观看| 久草视频免费在线观看| 又爽又黄免费网站97双女| 无码日韩人妻精品久久蜜桃| 日本一级黃色大片看免费| 三上悠亚一区二区| 久久国产免费视频| 亚洲无aV在线中文字幕| 伊人三区| 青草99| 丁香九月婷婷| 动图综合亚洲综合欧美男男| 欧美日韩综合网| 波多野结衣高清无码视频| 欧美一级A片高清免费播放| AV电影在线免费观看| 特大妓女BBwBBWBBw| 欧美黄网站| 先锋AV资源网| 一本一道伊人99久久综| 777av| 香蕉视频啪啪啪| 亚洲无码一区二区三区| 亚洲女与黑人正在播放| www.re99| 大鸡巴久久久| 国产精品91久久久| 成人精品秘免费波多野结衣| 中文字幕在线网站| www日本色| 日韩视频中文| 水果派AV解说| 91av一区二区|