日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android -- 贝塞尔二阶实现饿了么加入购物车效果

發(fā)布時間:2025/3/21 Android 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android -- 贝塞尔二阶实现饿了么加入购物车效果 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1,上周我們實現(xiàn)了簡單的三階貝塞爾曲線效果實例,今天是使用二階貝塞爾曲線加動畫實現(xiàn)的加入購物車效果,在碼代碼過程中出現(xiàn)了些問題,過一下和大家來探討探討,先看一下效果圖

  

2,從上面的效果來看我們基本上可以把功能拆分為兩個動畫效果:+號圖片按照曲線掉下(曲線的軌跡就是一個簡單的貝塞爾曲線)、購物車圖標從縮小到放大。知道了實現(xiàn)的原理我們開始我們功能的實現(xiàn)

  • 實現(xiàn)基本基本布局、RecyclerView展示數(shù)據(jù)

  從上面的效果我們可以得到,我們的布局是一個簡單的RecyclerView和下面的RelativeLayout,布局文件如下:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutxmlns:android="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/main_layout"tools:context="com.qianmo.beziershopcart.MainActivity"><android.support.v7.widget.RecyclerViewandroid:id="@+id/recycler"android:layout_width="match_parent"android:layout_height="match_parent"></android.support.v7.widget.RecyclerView><LinearLayoutandroid:id="@+id/shopping_cart_bottom"android:layout_width="match_parent"android:layout_height="50dp"android:layout_alignParentBottom="true"android:background="#fd383838"android:orientation="horizontal"></LinearLayout><FrameLayoutandroid:id="@+id/shopping_cart_layout"android:layout_width="60dp"android:layout_height="60dp"android:layout_alignParentBottom="true"android:layout_marginBottom="5dp"android:layout_marginLeft="35dp"android:background="@drawable/circle"android:clickable="true"><ImageViewandroid:id="@+id/shopping_cart"android:layout_width="35dp"android:layout_height="35dp"android:layout_gravity="center"android:src="@mipmap/ic_shopping_cart_white_24dp"/></FrameLayout> </RelativeLayout>

  添加Shop實體類、添加RecyclerView的Adapter

package com.qianmo.beziershopcart;/*** Created by wangjitao on 2017/4/10 0010.* E-Mail:543441727@qq.com*/public class ShopBean {private String title;private String price;private int count;public ShopBean(String title, String price, int count) {this.title = title;this.price = price;this.count = count;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getPrice() {return price;}public void setPrice(String price) {this.price = price;}public int getCount() {return count;}public void setCount(int count) {this.count = count;} }

  適配器

package com.qianmo.beziershopcart;import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast;import java.util.List;/*** Created by Administrator on 2017/4/10 0010.* E-Mail:543441727@qq.com*/public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {private List<ShopBean> datas;private Context mContext;private ShopOnClickListtener mShopOnClickListtener;public MyAdapter(List<ShopBean> datas, Context mContext) {this.datas = datas;this.mContext = mContext;}@Overridepublic MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_shop_menu, parent, false));}@Overridepublic void onBindViewHolder(MyAdapter.ViewHolder holder, final int position) {holder.shop_name.setText(datas.get(position).getTitle());holder.shop_price.setText(datas.get(position).getPrice());holder.count.setText(datas.get(position).getCount() + "");holder.ic_add.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (mShopOnClickListtener != null) {mShopOnClickListtener.add(v, position);}}});holder.ic_reduce.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (mShopOnClickListtener != null) {mShopOnClickListtener.remove(v, position);}}});}@Overridepublic int getItemCount() {return datas == null ? 0 : datas.size();}public class ViewHolder extends RecyclerView.ViewHolder {TextView shop_name;TextView shop_price;TextView count;ImageView ic_add;ImageView ic_reduce;public ViewHolder(View itemView) {super(itemView);shop_name = (TextView) itemView.findViewById(R.id.tv_title);shop_price = (TextView) itemView.findViewById(R.id.tv_price);count = (TextView) itemView.findViewById(R.id.tv_count);ic_add = (ImageView) itemView.findViewById(R.id.iv_add);ic_reduce = (ImageView) itemView.findViewById(R.id.iv_remove);}}public ShopOnClickListtener getShopOnClickListtener() {return mShopOnClickListtener;}public void setShopOnClickListtener(ShopOnClickListtener mShopOnClickListtener) {this.mShopOnClickListtener = mShopOnClickListtener;}public interface ShopOnClickListtener {void add(View view, int position);void remove(View view, int position);} }

  在Activity中簡單的添加數(shù)據(jù)

package com.qianmo.beziershopcart;import android.animation.Animator; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Point; import android.graphics.PointF; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.animation.AccelerateInterpolator; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout;import java.util.ArrayList; import java.util.List;public class MainActivity extends AppCompatActivity implements MyAdapter.ShopOnClickListtener {private Context mContext = MainActivity.this;private RelativeLayout main_layout;private RecyclerView mRecyclerView;private ImageView mImageViewShopCat;private List<ShopBean> datas;private MyAdapter myAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {mRecyclerView = (RecyclerView) findViewById(R.id.recycler);mImageViewShopCat = (ImageView) findViewById(R.id.shopping_cart);main_layout = (RelativeLayout) findViewById(R.id.main_layout);initData();}private void initData() {datas = new ArrayList<>();datas.add(new ShopBean("面包", "1.00", 10));datas.add(new ShopBean("蛋撻", "1.00", 10));datas.add(new ShopBean("牛奶", "1.00", 10));datas.add(new ShopBean("腸粉", "1.00", 10));datas.add(new ShopBean("綠茶餅", "1.00", 10));datas.add(new ShopBean("花卷", "1.00", 10));datas.add(new ShopBean("包子", "1.00", 10));datas.add(new ShopBean("粥", "1.00", 10));datas.add(new ShopBean("炒飯", "1.00", 10));datas.add(new ShopBean("炒米粉", "1.00", 10));datas.add(new ShopBean("炒粿條", "1.00", 10));datas.add(new ShopBean("炒牛河", "1.00", 10));datas.add(new ShopBean("炒菜", "1.00", 10));datas.add(new ShopBean("淋菜", "1.00", 10));datas.add(new ShopBean("川菜", "1.00", 10));datas.add(new ShopBean("湘菜", "1.00", 10));datas.add(new ShopBean("粵菜", "1.00", 10));datas.add(new ShopBean("贛菜", "1.00", 10));datas.add(new ShopBean("東北菜", "1.00", 10));datas.add(new ShopBean("淋菜", "1.00", 10));datas.add(new ShopBean("川菜", "1.00", 10));datas.add(new ShopBean("湘菜", "1.00", 10));datas.add(new ShopBean("粵菜", "1.00", 10));datas.add(new ShopBean("贛菜", "1.00", 10));datas.add(new ShopBean("東北菜", "1.00", 10));mRecyclerView.setLayoutManager(new LinearLayoutManager(mContext));mRecyclerView.addItemDecoration(new RecyclerViewDivider(mContext, LinearLayoutManager.VERTICAL, 50, ContextCompat.getColor(mContext, R.color.colorAccent)));myAdapter = new MyAdapter(datas, mContext);mRecyclerView.setAdapter(myAdapter);myAdapter.setShopOnClickListtener(this);}@Overridepublic void add(final View view, int position) {Toast.makeText(mContext, "加", Toast.LENGTH_SHORT).show();}@Overridepublic void remove(View view, int position) {Toast.makeText(mContext, "減", Toast.LENGTH_SHORT).show();} }

  看一下我們的效果:

  

  OK,大致的展示效果基本上是實現(xiàn)了

  • 使用加入購物車效果

  下面我們來實現(xiàn)貝塞爾曲線效果,首先獲取兩個數(shù)據(jù)點:一個是每次點擊“+”號的坐標位置、一個是下面紅色的購物車圖標。控制點我打算取開始點的Y坐標和結(jié)束點的X坐標,那么怎么獲取當前控件相對于整個屏幕的坐標呢,這里View里面有一個getLocationInWindow()方法(這里要留心一下這個方法),然后不了解的同學(xué)可以搜索一下view.getLocationInWindow(int[] location)和view.getLocationOnScreen(int[] location),方法的區(qū)別,這里我從網(wǎng)上偷了了一個圖,如下:

  getLocationInWindow是以B為原點的C的坐標getLocationOnScreen以A為原點

  ok,這樣我們看一下我們的貝塞爾三個坐標的初始化

@Overridepublic void add(final View view, int position) {//貝塞爾起始數(shù)據(jù)點int[] startPosition = new int[2];//貝塞爾結(jié)束數(shù)據(jù)點int[] endPosition = new int[2];//控制點int[] recyclerPosition = new int[2];view.getLocationInWindow(startPosition);mImageViewShopCat.getLocationInWindow(endPosition);PointF startF = new PointF();PointF endF = new PointF();PointF controllF = new PointF();startF.x = startPosition[0];startF.y = startPosition[1] ;endF.x = endPosition[0];endF.y = endPosition[1];controllF.y = startF.y; }

  繼續(xù),自定義差值器,我們按照貝塞爾的三階公式來套,上一篇詳細的介紹過了就不在廢話了,這里不懂的話建議你去看一下我的上一篇博客,里面有詳細的介紹

  

package com.qianmo.beziershopcart;import android.animation.TypeEvaluator; import android.graphics.PointF;/*** Created by Administrator on 2017/4/10 0010.* E-Mail:543441727@qq.com*/public class BezierTypeEvaluator implements TypeEvaluator<PointF> {private PointF mControllPoint;public BezierTypeEvaluator(PointF mControllPoint) {this.mControllPoint = mControllPoint;}@Overridepublic PointF evaluate(float fraction, PointF startValue, PointF endValue) {PointF pointCur = new PointF();pointCur.x = (1 - fraction) * (1 - fraction) * startValue.x + 2 * fraction * (1 - fraction) * mControllPoint.x + fraction * fraction * endValue.x;pointCur.y = (1 - fraction) * (1 - fraction) * startValue.y + 2 * fraction * (1 - fraction) * mControllPoint.y + fraction * fraction * endValue.y;return pointCur;} }

  開啟動畫自動調(diào)用

@Overridepublic void add(final View view, int position) {//貝塞爾起始數(shù)據(jù)點int[] startPosition = new int[2];//貝塞爾結(jié)束數(shù)據(jù)點int[] endPosition = new int[2];view.getLocationInWindow(startPosition);mImageViewShopCat.getLocationInWindow(endPosition);PointF startF = new PointF();PointF endF = new PointF();PointF controllF = new PointF();startF.x = startPosition[0];startF.y = startPosition[1] ;endF.x = endPosition[0];endF.y = endPosition[1];controllF.x = endF.x;controllF.y = startF.y;ValueAnimator valueAnimator = ValueAnimator.ofObject(new BezierTypeEvaluator(controllF), startF, endF);valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) {PointF pointF = (PointF) animation.getAnimatedValue();view.setX(pointF.x);view.setY(pointF.y); // Log.i("wangjtiao", "viewF:" + view.getX() + "," + view.getY());}});valueAnimator .setDuration(800);valueAnimator .start();}

  按照我們的思路,這個功能基本上是實現(xiàn)了,感覺很簡單,又可以多了些時間去打兩把王者農(nóng)藥了,看一下我們的效果圖:

  

  呃!!!我的動畫呢??? ,看一下我們打印動畫軌跡的效果

04-10 03:55:37.271 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:899.42816,608.6747 04-10 03:55:37.306 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:841.05066,615.05853 04-10 03:55:37.369 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:700.9506,644.04346 04-10 03:55:37.399 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:626.5742,669.1555 04-10 03:55:37.427 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:552.1316,703.05035 04-10 03:55:37.474 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:477.8907,747.9864 04-10 03:55:37.502 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:410.36102,801.63885 04-10 03:55:37.528 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:348.99896,864.93835 04-10 03:55:37.549 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:320.21585,901.0647 04-10 03:55:37.601 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:247.92773,1019.08307 04-10 03:55:37.629 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:210.69424,1104.1696 04-10 03:55:37.650 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:194.71275,1149.3108 04-10 03:55:37.672 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:180.81482,1194.8556 04-10 03:55:37.716 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:150.94038,1327.2924 04-10 03:55:37.744 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:138.87828,1409.5398 04-10 03:55:37.771 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:134.5641,1449.0864 04-10 03:55:37.799 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:129.06772,1518.4921 04-10 03:55:37.813 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:127.390335,1549.7286 04-10 03:55:37.852 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:125.646034,1600.0463 04-10 03:55:37.873 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:125.263214,1620.108 04-10 03:55:37.902 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:125.0176,1646.6577 04-10 03:55:37.932 29510-29510/com.qianmo.beziershopcart I/wangjtiao: viewF:125.0,1656.0

  view的坐標一直在改變啊!思路上沒什么問題啊,想了好久,會不會是因為這是RecyclerView的item的ImageView,是不是它不能超過它父控件的距離呢?(到最后我也沒搞懂為什么不顯示view,如果知道的同學(xué)請告知一下),姑且算是這個問題,那我們就每次都new一個ImageView,添加到主布局中,代碼如下:

@Overridepublic void add(final View view, int position) {//貝塞爾起始數(shù)據(jù)點int[] startPosition = new int[2];//貝塞爾結(jié)束數(shù)據(jù)點int[] endPosition = new int[2];//控制點int[] recyclerPosition = new int[2];view.getLocationInWindow(startPosition);mImageViewShopCat.getLocationInWindow(endPosition);mRecyclerView.getLocationInWindow(recyclerPosition);PointF startF = new PointF();PointF endF = new PointF();PointF controllF = new PointF();startF.x = startPosition[0];startF.y = startPosition[1];endF.x = endPosition[0];endF.y = endPosition[1];controllF.x = endF.x;controllF.y = startF.y;Log.i("wangjtiao", "startF:" + startF.x + "," + startF.y);Log.i("wangjtiao", "endF:" + endF.x + "," + endF.y);Log.i("wangjtiao", "ControllF:" + endF.x + "," + controllF.y);Log.i("wangjtiao", "ControllF:" + recyclerPosition[0] + "," + recyclerPosition[1]);final ImageView imageView = new ImageView(this);main_layout.addView(imageView);imageView.setImageResource(R.mipmap.ic_add_circle_blue_700_36dp);imageView.getLayoutParams().width = getResources().getDimensionPixelSize(R.dimen.item_dish_circle_size);imageView.getLayoutParams().height = getResources().getDimensionPixelSize(R.dimen.item_dish_circle_size);imageView.setVisibility(View.VISIBLE);imageView.setX(startF.x);imageView.setY(startF.y);ValueAnimator valueAnimator = ValueAnimator.ofObject(new BezierTypeEvaluator(controllF), startF, endF);valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) {PointF pointF = (PointF) animation.getAnimatedValue();imageView.setX(pointF.x);imageView.setY(pointF.y);Log.i("wangjtiao", "viewF:" + view.getX() + "," + view.getY());}});valueAnimator.setDuration(800);valueAnimator.start();}

  效果如下:

  

  ??這又是什么鬼,兩個控制點出問題了??既然控制點出問題了我們來看看我們控制點怎么得到的:view.getLocationInWindow(int[] location)和view.getLocationOnScreen(int[] location),,感覺也沒什么問題啊 ? 我們打印一下我們的貝塞爾兩個數(shù)據(jù)點和一個控制點

04-10 02:45:33.179 32056-32056/com.qianmo.beziershopcart I/wangjtiao: startF:1014.0,242.0 04-10 02:45:33.183 32056-32056/com.qianmo.beziershopcart I/wangjtiao: endF:125.0,1656.0 04-10 02:45:33.183 32056-32056/com.qianmo.beziershopcart I/wangjtiao: ControllF:125.0,242.0

  ok,這里我們看不到我們的效果,我們將view.getLocationInWindow(int[] location)替換成view.getLocationOnScreen(int[] location)

04-10 02:40:44.161 27735-27735/com.qianmo.beziershopcart I/wangjtiao: startF:1014.0,242.0 04-10 02:40:44.161 27735-27735/com.qianmo.beziershopcart I/wangjtiao: endF:125.0,1656.0 04-10 02:45:33.183 32056-32056/com.qianmo.beziershopcart I/wangjtiao: ControllF:125.0,242.0

  ???為什么兩次獲取的坐標都是一樣的,還有我們的上面動畫為什么會偏差這個多,感覺這個高度貌似是我們的狀態(tài)欄和標題欄的高度啊 ?,為了驗證我們的猜想,我們隱藏掉狀態(tài)欄和標題欄試試

1 //獲取當前窗體 2 final Window window = getWindow(); 3 //隱藏狀態(tài)欄 4 window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 5 //隱藏標題欄 6 requestWindowFeature(Window.FEATURE_NO_TITLE);

  效果如下:

  效果實現(xiàn)了,沒問題,說明真的是這個問題,那view.getLocationInWindow(int[] location)按照別人博客里面說的就是取的相對坐標啊,我們獲取一下我們主界面的mRecyclerView的坐標看看

04-10 02:45:33.183 32056-32056/com.qianmo.beziershopcart I/wangjtiao: ControllF:0,210

  可以看到我們的標題欄+狀態(tài)欄高度是210,但是我們起始點的坐標是(1014,242)這個有問題啊,應(yīng)該是(1014,32)這樣我們的動畫才會在正確的起始位置和結(jié)束位置啊。帶著我們的疑問,查了半天資料,終于在一個論壇發(fā)現(xiàn)了

因為你的代碼顯示的界面 contentView < window = screen 為什么會相等呢,因為此時的Window就是包含狀態(tài)欄+contentView的大小 不是你認為的 contentView = window < screen 除非你的view是從dialog 或者 popupWindow 上顯示, 這時候getLocationInWindow獲得的值就是相對的坐標。

  所以getLocationInWindow方法獲取的是狀態(tài)欄+contentView的大小,而不是我們以為的contentView的大小,知道了這里我們基本上就知道怎么解決這個問題了,只需要減去這個高度就可以了,我們可以直接減去mRecyclerView的Y坐標即可,代碼如下:

@Overridepublic void add(final View view, int position) {//貝塞爾起始數(shù)據(jù)點int[] startPosition = new int[2];//貝塞爾結(jié)束數(shù)據(jù)點int[] endPosition = new int[2];//控制點int[] recyclerPosition = new int[2];view.getLocationInWindow(startPosition);mImageViewShopCat.getLocationInWindow(endPosition);mRecyclerView.getLocationInWindow(recyclerPosition);PointF startF = new PointF();PointF endF = new PointF();PointF controllF = new PointF();startF.x = startPosition[0];startF.y = startPosition[1] - recyclerPosition[1];endF.x = endPosition[0];endF.y = endPosition[1] - recyclerPosition[1];controllF.x = endF.x;controllF.y = startF.y;final ImageView imageView = new ImageView(this);main_layout.addView(imageView);imageView.setImageResource(R.mipmap.ic_add_circle_blue_700_36dp);imageView.getLayoutParams().width = getResources().getDimensionPixelSize(R.dimen.item_dish_circle_size);imageView.getLayoutParams().height = getResources().getDimensionPixelSize(R.dimen.item_dish_circle_size);imageView.setVisibility(View.VISIBLE);imageView.setX(startF.x);imageView.setY(startF.y);ValueAnimator valueAnimator = ValueAnimator.ofObject(new BezierTypeEvaluator(controllF), startF, endF);valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) {PointF pointF = (PointF) animation.getAnimatedValue();imageView.setX(pointF.x);imageView.setY(pointF.y);Log.i("wangjtiao", "viewF:" + view.getX() + "," + view.getY());}});valueAnimator.setDuration(800);valueAnimator.start();}

  看一下效果:

  

  沒問題了,這里的位置也沒什么問題,再添加動畫完成監(jiān)聽,移除剛剛new的ImageView

valueAnimator.addListener(new Animator.AnimatorListener() {@Overridepublic void onAnimationStart(Animator animation) {}@Overridepublic void onAnimationEnd(Animator animation) {imageView.setVisibility(View.GONE);main_layout.removeView(imageView);}@Overridepublic void onAnimationCancel(Animator animation) {}@Overridepublic void onAnimationRepeat(Animator animation) {}});
  • 購物車圖標從縮小到放大的實現(xiàn)

  這個就很簡單了,就是一個簡單的屬性動畫,然后將上面這幾個動畫放在集合中,代碼如下:

@Overridepublic void add(final View view, int position) {//貝塞爾起始數(shù)據(jù)點int[] startPosition = new int[2];//貝塞爾結(jié)束數(shù)據(jù)點int[] endPosition = new int[2];//控制點int[] recyclerPosition = new int[2];view.getLocationInWindow(startPosition);mImageViewShopCat.getLocationInWindow(endPosition);mRecyclerView.getLocationInWindow(recyclerPosition);PointF startF = new PointF();PointF endF = new PointF();PointF controllF = new PointF();startF.x = startPosition[0];startF.y = startPosition[1] - recyclerPosition[1];endF.x = endPosition[0];endF.y = endPosition[1] - recyclerPosition[1];controllF.x = endF.x;controllF.y = startF.y;final ImageView imageView = new ImageView(this);main_layout.addView(imageView);imageView.setImageResource(R.mipmap.ic_add_circle_blue_700_36dp);imageView.getLayoutParams().width = getResources().getDimensionPixelSize(R.dimen.item_dish_circle_size);imageView.getLayoutParams().height = getResources().getDimensionPixelSize(R.dimen.item_dish_circle_size);imageView.setVisibility(View.VISIBLE);imageView.setX(startF.x);imageView.setY(startF.y);ValueAnimator valueAnimator = ValueAnimator.ofObject(new BezierTypeEvaluator(controllF), startF, endF);valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) {PointF pointF = (PointF) animation.getAnimatedValue();imageView.setX(pointF.x);imageView.setY(pointF.y);Log.i("wangjtiao", "viewF:" + view.getX() + "," + view.getY());}});ObjectAnimator objectAnimatorX = new ObjectAnimator().ofFloat(mImageViewShopCat, "scaleX", 0.6f, 1.0f);ObjectAnimator objectAnimatorY = new ObjectAnimator().ofFloat(mImageViewShopCat, "scaleY", 0.6f, 1.0f);objectAnimatorX.setInterpolator(new AccelerateInterpolator());objectAnimatorY.setInterpolator(new AccelerateInterpolator());AnimatorSet set = new AnimatorSet();set.play(objectAnimatorX).with(objectAnimatorY).after(valueAnimator);set.setDuration(800);set.start();}

  最后的效果:

  

  ok,這樣就實現(xiàn)了我們的效果了,有沒有很簡單,二階且三個點都是固定的貝塞爾還是很簡單的嘛,github代碼下載

  但是這里還有個遺留的問題還是沒搞懂,為什么RecyclerView的item的ImageView的動畫效果不顯示!!!!知道的同學(xué)請留言或者私信一下,感激(抱拳)了各位。。。

?

總結(jié)

以上是生活随笔為你收集整理的Android -- 贝塞尔二阶实现饿了么加入购物车效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

伊人电影天堂 | 日日碰狠狠躁久久躁综合网 | 三级av中文字幕 | 国产在线播放一区二区三区 | 看片的网址| 99r精品视频在线观看 | 国产精品久久久久久爽爽爽 | 久久dvd| 天天色成人网 | 日操干| free. 性欧美.com| 国产精品久久久久av | 久久深夜福利免费观看 | 国产在线专区 | 免费a视频在线观看 | 在线你懂 | 特级黄录像视频 | 97在线视频免费 | 激情久久久久 | 亚洲国内精品在线 | 日韩丝袜在线观看 | 亚洲专区免费观看 | 久久久高清一区二区三区 | 日韩av看片| 日韩字幕 | 久久你懂的 | 亚洲综合在线视频 | 国产成人精品一区二区三区免费 | 亚洲激情在线观看 | 四虎国产永久在线精品 | 国产精品久久久久久一区二区三区 | 国产精品久久久久婷婷二区次 | 在线小视频你懂的 | 久久91久久久久麻豆精品 | 国产成人精品一区在线 | 在线视频免费观看 | 天天插日日插 | 亚洲欧洲精品一区二区 | 国产欧美精品一区二区三区 | 日韩三级一区 | 亚洲精品国产精品久久99 | 免费毛片一区二区三区久久久 | 中文字幕一区二区三区在线视频 | 狠狠狠色狠狠色综合 | 亚洲国产福利视频 | 欧美午夜精品久久久久久浪潮 | 香蕉视频久久 | 人人看看人人 | 国产精品久久片 | 91一区二区三区在线观看 | 四川妇女搡bbbb搡bbbb搡 | 亚洲免费不卡 | 国产999精品久久久影片官网 | 免费视频色 | 最新日本中文字幕 | 精品免费99久久 | 久久99精品久久久久久久久久久久 | 91久久偷偷做嫩草影院 | 狠狠色丁香久久婷婷综 | 国产精品久久久久久久久久久久午 | 国产精品久久亚洲 | 在线日本v二区不卡 | 永久免费精品视频 | 午夜视频在线网站 | 中国成人一区 | 麻豆影音先锋 | 久艹在线播放 | 欧美精品免费在线观看 | 国产精品区一区 | 亚洲精品国产成人av在线 | 久久久久国产精品一区二区 | 在线а√天堂中文官网 | 国产高清视频免费在线观看 | 久久久久久蜜桃一区二区 | 成人小视频在线观看免费 | 狠狠色伊人亚洲综合网站色 | 一区二区三区在线不卡 | 久久狠狠亚洲综合 | 亚洲国产wwwccc36天堂 | 天天色天天操天天爽 | 天天躁日日 | 亚洲伦理一区二区 | 色视频在线免费 | 久久久九九 | 欧美激情综合五月色丁香 | 欧产日产国产69 | 欧美天天射 | av大全免费在线观看 | 亚洲精品久久久久久中文传媒 | 99热最新在线 | 久久久久免费 | 美女搞黄国产视频网站 | 国产免费一区二区三区最新 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 成人影视片| 精品国产伦一区二区三区免费 | 伊人黄色网 | 日本三级中文字幕在线观看 | 一级片在线| 丁香高清视频在线看看 | 美州a亚洲一视本频v色道 | 国产精品 欧美 日韩 | 国产毛片aaa | 欧美色图另类 | 中国一级片在线观看 | 狠狠色狠狠色综合日日小说 | 中文字幕91在线 | 在线中文字幕视频 | 亚洲狠狠操 | 国产精品1区2区在线观看 | 精品久久久久久综合日本 | 91麻豆精品国产91久久久久 | 麻豆视频观看 | 国产亚洲欧美精品久久久久久 | 亚洲女在线 | 精品视频网站 | 一区二区三区动漫 | 精品高清视频 | 在线观看视频在线 | 麻豆精品传媒视频 | 国产精品一区二区av日韩在线 | 五月在线视频 | 久久精品香蕉视频 | 免费在线观看中文字幕 | 欧美精品久久久 | 日韩国产精品一区 | 97品白浆高清久久久久久 | 亚洲日韩中文字幕在线播放 | 国产中文字幕视频在线 | 国产视频观看 | 在线探花| 97色se| 四虎视频| 在线观看免费色 | 美女视频黄是免费的 | 国产免费人成xvideos视频 | 永久免费av在线播放 | 免费日韩 精品中文字幕视频在线 | 91丨九色丨国产女 | 国产白浆在线观看 | 免费在线成人av | 亚洲精品视频免费 | 99久久国产免费,99久久国产免费大片 | 久久试看 | 国产在线观看二区 | 亚洲精品白浆高清久久久久久 | 五月亚洲婷婷 | 国产精品国产三级国产aⅴ9色 | 久久99久国产精品黄毛片入口 | 在线观看岛国 | 免费色视频网址 | 三级av网站| 在线免费观看黄色大片 | 亚洲色图27p | 欧美日韩一区二区三区在线免费观看 | 久久久久免费精品视频 | a午夜在线 | 探花视频在线观看免费 | 91av短视频| 日本高清中文字幕有码在线 | 国产精品乱码久久久久久1区2区 | 久久精品久久久精品美女 | 国产又粗又长又硬免费视频 | 婷婷爱五月天 | 色.www| av一区二区三区在线播放 | 永久免费在线 | 国产伦精品一区二区三区照片91 | 97人人射 | 91成人短视频在线观看 | 国产精品无av码在线观看 | 99久久久国产精品免费观看 | 久久99国产精品免费 | 欧美成年人在线观看 | 国产成免费视频 | 国产一级性生活 | 在线观看深夜视频 | 久久午夜电影网 | 有码中文字幕在线观看 | 日韩特级片 | 欧美看片 | 麻豆免费精品视频 | 久章草在线 | 视频二区在线视频 | 色婷婷综合在线 | 日韩视频中文 | 久久人人爽 | 欧美成人精品欧美一级乱 | 色婷婷免费视频 | 91视频免费看片 | 日韩精品中文字幕有码 | 亚洲一二三在线 | 亚洲成人软件 | 91精选在线 | 丁香视频在线观看 | 亚洲精品在线视频观看 | 婷婷丁香五 | 国内精品毛片 | 在线免费看黄色 | 亚洲精品999 | 婷婷激情五月 | 国产精品久久久久久av | 国产视频资源在线观看 | 天天干天天做 | 97免费视频在线 | 国产高清在线一区 | 日韩在线视频一区二区三区 | 免费成人av在线看 | 处女av在线| 久久99网| 日韩久久影院 | 国产国产人免费人成免费视频 | 欧美色精品天天在线观看视频 | 九色91在线 | 久久久久久免费视频 | 国产一级精品视频 | 欧美专区日韩专区 | 国产在线看 | 91麻豆精品一区二区三区 | www.亚洲精品 | 日本精品久久久久 | 精品av在线播放 | 中文字幕在线视频一区 | 日韩xxxxxxxxx| 免费91在线观看 | av性在线| 国产一二三区av | 欧美在线99 | 三级午夜片 | 国产99久久 | 波多野结衣日韩 | 99中文字幕视频 | 日本大片免费观看在线 | 99精品视频在线观看免费 | 成人av教育 | 久久精品美女视频网站 | 亚洲欧美怡红院 | 亚洲国产欧洲综合997久久, | 天天爱天天操 | 精品亚洲男同gayvideo网站 | 九热精品 | 在线看中文字幕 | 欧美另类色图 | 激情欧美一区二区三区免费看 | 精品亚洲男同gayvideo网站 | 一区二区三区在线看 | 欧美黑人性猛交 | 亚洲激情av| 久久国产网| 日韩精品首页 | 五月天高清欧美mv | 国产手机视频精品 | 97超碰在线播放 | 日本黄色免费在线观看 | 久久国产精品久久久 | 永久免费的啪啪网站免费观看浪潮 | 六月激情 | www国产在线 | 成人av在线一区二区 | 在线观看视频99 | 99这里只有精品99 | 四虎在线观看精品视频 | 五月天精品视频 | 久久人人97超碰com | 91精品国产99久久久久久红楼 | 国产精品一区二区久久久久 | 亚洲经典中文字幕 | 日韩成人精品一区二区三区 | 久久久久久久国产精品视频 | 天天操天天爱天天干 | 国产99久久久精品 | 日韩资源视频 | 在线观看成人网 | 久久国产精品影视 | 欧美一级片播放 | 亚洲欧美一区二区三区孕妇写真 | 99免费在线视频观看 | 久久精品99国产精品 | a级成人毛片 | 91精品视频免费观看 | 精品国产1区 | 免费精品视频在线 | 国产无吗一区二区三区在线欢 | 亚洲精品视频在线观看视频 | 四虎国产精 | 日韩免费电影在线观看 | 四虎www| 九九热精品国产 | 国产在线2020 | 国产精品99久久免费黑人 | 91免费视频网站在线观看 | 在线影视 一区 二区 三区 | 久久久受www免费人成 | 一区二区三区中文字幕在线 | 久久久久久久看片 | 国产精品露脸在线 | 在线免费观看羞羞视频 | 麻豆 videos| 久久夜视频 | 一区中文字幕电影 | 欧美日韩免费在线视频 | 美女视频永久黄网站免费观看国产 | 91传媒91久久久 | 麻花传媒mv免费观看 | 四虎在线观看 | 亚洲黄色精品 | 制服丝袜一区二区 | 看黄色91| 日韩欧美视频 | 精品欧美一区二区三区久久久 | 国产精品女教师 | 日日爽视频 | 国产 成人 久久 | 91黄色视屏| 精品在线视频观看 | 国产九九热视频 | 亚洲欧美婷婷六月色综合 | 国产精品成人自拍 | 国产一区二区三区免费在线观看 | 成人久久网 | 日韩在线影视 | 在线亚洲欧美日韩 | 日韩中文字幕视频在线观看 | 人人爽人人爽人人爽人人爽 | 中文字幕999 | 伊人官网 | 久久久久国产精品一区 | 日韩视频免费看 | 久久精品一区二区三区中文字幕 | 欧美大片在线观看一区 | 天天做天天爱天天爽综合网 | a在线视频v视频 | 午夜精品久久久久99热app | 久草在线视频国产 | 色综合久久综合网 | 亚洲最新av | 手机成人免费视频 | 国产国产人免费人成免费视频 | 91在线网址 | 伊人亚洲综合 | 欧美日韩国产亚洲乱码字幕 | www.在线看片.com| 婷婷日日 | 久久不卡免费视频 | 亚洲va综合va国产va中文 | av青草| 超碰在线中文字幕 | 97国产视频 | 8x成人在线 | 精品国产乱码久久久久久久 | 欧洲亚洲女同hd | 中文字幕黄色av | 久久精品国产免费看久久精品 | 成人国产精品久久久 | 久久久久久蜜av免费网站 | 99se视频在线观看 | 日韩在线视频一区二区三区 | 久久看免费视频 | 国产精品久久99精品毛片三a | 91大神一区二区三区 | 国产不卡免费 | 色婷婷国产精品一区在线观看 | 中文在线免费一区三区 | 黄色资源网站 | 国内精品久久影院 | 97国产精品久久 | 一级片免费观看视频 | 五月天免费网站 | 五月婷婷开心 | 人人爽人人爽 | 国产中文字幕在线免费观看 | 97色噜噜| 丁香婷婷激情 | 久久天天躁狠狠躁夜夜不卡公司 | av电影在线免费 | 最新国产精品亚洲 | 国产自在线 | 色婷婷久久 | 日本一区二区不卡高清 | 涩涩爱夜夜爱 | 在线观看一级视频 | 久草视频视频在线播放 | 精壮的侍卫呻吟h | 亚洲精品ww | 97在线观看免费观看高清 | www一起操| 国产精品色视频 | 久久精精品视频 | 国产精品毛片久久久久久久久久99999999 | 成人一区电影 | 色香网 | 免费观看一级 | 最近久乱中文字幕 | 久久精美视频 | 国产 成人 久久 | 天天爽天天爽 | 97免费在线观看 | 伊人天天综合 | 久草视频资源 | 中文字幕在线观看网站 | 亚洲高清在线精品 | 人人爽人人爱 | 欧美一级片 | 成人动漫精品一区二区 | 中文字幕av在线播放 | 午夜视频不卡 | 国产免费观看视频 | 天天操天天干天天插 | 中文字幕精品一区二区精品 | 丁香视频| 玖玖在线播放 | 国产123av | 久久久综合色 | 在线性视频日韩欧美 | 久草视频播放 | 2021av在线 | 久草在线最新免费 | 中文字幕在线观看一区 | 国语对白少妇爽91 | 久久不卡国产精品一区二区 | 在线天堂日本 | 日本韩国在线不卡 | 久久久.com | 久久国产网站 | 国内揄拍国内精品 | 国产黄av | 国产精品私人影院 | 国产一区成人 | 久草视频免费观 | 中文字幕色播 | 久久99热精品 | a视频免费| 热久久国产 | 97超碰人| 免费a级大片| 国产一级片观看 | 久久精品一区二区三区视频 | 久一久久| 9i看片成人免费看片 | 五月婷婷在线观看视频 | 88av色| 狠狠色丁香久久婷婷综合丁香 | 久久黄色免费 | 久久久久亚洲精品中文字幕 | 在线精品视频在线观看高清 | 夜夜摸夜夜爽 | 天天干天天摸天天操 | 成人国产精品一区二区 | 日韩av专区 | 亚洲国产欧洲综合997久久, | 看片一区二区三区 | 亚洲第一香蕉视频 | 色狠狠久久av五月综合 | 中文字幕高清在线播放 | 日韩精品不卡在线 | 中文字幕一区二区三区在线播放 | 瑞典xxxx性hd极品 | 黄a在线看 | 黄污网站在线观看 | av在线观| 久久人人97超碰精品888 | 国产福利在线 | 五月婷婷视频在线观看 | 天天操天天插 | 日韩欧美xxx | 国产二区免费视频 | 福利区在线观看 | 亚洲撸撸 | 三级黄色片子 | 毛片一区二区 | 天天操天天操天天操天天操 | 国产小视频在线看 | 国产一级做a爱片久久毛片a | 天天射天天 | 亚洲一区日韩精品 | 激情综合中文娱乐网 | 国产精品aⅴ | 国产精品18久久久久vr手机版特色 | 在线视频成人 | 国产一区二区三区免费在线观看 | 国产一区播放 | 久久精品久久久久久久 | 婷婷色网 | 奇米网8888 | 一级片视频在线 | 久久9999久久免费精品国产 | 在线观看香蕉视频 | 国产精品岛国久久久久久久久红粉 | 色姑娘综合 | 最新真实国产在线视频 | 国产无套精品久久久久久 | 成年人在线观看视频免费 | 97中文字幕 | av中文字幕在线观看网站 | 精品96久久久久久中文字幕无 | 国产aa精品| 国产中文字幕一区 | 日韩欧美在线视频一区二区 | a√资源在线| www99精品 | 日韩欧美一区二区在线观看 | 中国一级片在线 | 色天天中文 | 欧美精品久久久久久久久久 | 一级免费黄色 | 国产1区2区 | 日韩精品视频免费在线观看 | 色综合天天色 | 久草在线视频资源 | 天天综合天天做 | 亚洲天天在线 | 久草青青在线观看 | 在线观看免费版高清版 | 91精品免费在线视频 | 久久国产免费看 | 激情小说久久 | www.狠狠色.com | 五月婷婷影院 | 91成人精品视频 | www.久热 | 精品久久久久久一区二区里番 | 日韩精品在线观看av | 国产欧美最新羞羞视频在线观看 | 丁香在线 | 日韩欧美一区二区三区黑寡妇 | 久久夜夜操 | 黄色毛片在线观看 | 91视频91色| 福利视频入口 | 亚洲午夜精品久久久久久久久久久久 | 日韩色综合 | 不卡视频国产 | 亚洲精品大全 | 精品毛片一区二区免费看 | 黄色www| 91热这里只有精品 | 亚洲高清av在线 | 成人国产精品av | 在线观看视频你懂得 | 成人av在线观 | 在线看片中文字幕 | 97夜夜澡人人双人人人喊 | 国产亚洲精品成人av久久ww | 韩日视频在线 | 麻豆精品国产传媒 | 日韩和的一区二在线 | 一区二区理论片 | 在线观看视频97 | 国产香蕉久久 | 久久你懂得 | 国产一区二区三区免费在线观看 | 91在线视频网址 | 欧美午夜精品久久久久久浪潮 | 欧美一区二区在线免费看 | 久av电影 | 中文字幕一区二区三区在线播放 | 国产日韩欧美在线影视 | 色婷婷在线观看视频 | 国内少妇自拍视频一区 | 在线天堂视频 | 色播五月婷婷 | 日韩欧美在线播放 | 久久综合射| 91插插插免费视频 | 久久夜视频 | 91视频免费网址 | 国产成人精品在线观看 | 亚洲精品美女久久17c | 成人精品久久久 | 日韩一区正在播放 | 四虎影视8848dvd | 天天干天天在线 | 午夜视频亚洲 | 夜色成人网 | 91在线视频导航 | 成人免费av电影 | 99九九免费视频 | 国产精品久久久久久久久岛 | 黄色免费网站下载 | 婷婷国产v亚洲v欧美久久 | 91看片在线 | 日韩高清一二区 | 亚洲人天堂 | 免费久久久 | 波多在线视频 | 免费一级特黄毛大片 | 在线视频精品播放 | 免费久久99精品国产婷婷六月 | 在线精品观看国产 | 激情综合色播五月 | 成人a毛片 | 亚洲无吗av | 亚洲免费在线视频 | 天天操天天干天天玩 | 黄色免费国产 | 亚洲免费专区 | 国产成人福利在线观看 | 国产1区2| www.色的| 中午字幕在线观看 | 91最新视频在线观看 | 久久久久国产精品一区 | 91精品国产入口 | 99热这里只有精品8 久久综合毛片 | 国产午夜精品一区二区三区嫩草 | 国产一级不卡视频 | 国产精品嫩草影院123 | 青青草视频精品 | 一区二区伦理电影 | 97品白浆高清久久久久久 | 成人免费在线观看电影 | 中文字幕在线电影 | 人人玩人人添人人澡超碰 | 人人超碰人人 | 亚洲综合色网站 | 久久久2o19精品| 天天操天天干天天综合网 | 国产黄色在线看 | 色视频在线免费观看 | 美女网站在线免费观看 | 91丨九色丨国产丨porny精品 | 最近中文字幕国语免费av | 狠狠狠色丁香婷婷综合激情 | 国产精品系列在线 | 草久电影| 欧美精品国产综合久久 | 日韩中文字幕在线不卡 | 国产大尺度视频 | 91av资源在线 | 在线观看视频国产一区 | 亚洲欧美在线综合 | 超碰人人99| 久久精品99国产精品日本 | 国产精品国产三级在线专区 | 国产69精品久久久久99 | 国内精品久久久久久久影视麻豆 | 青青河边草观看完整版高清 | 日韩网站中文字幕 | 国产精品乱码高清在线看 | 奇米影视8888 | 日韩三级视频在线观看 | 免费成人av网站 | 视频一区二区精品 | 久久高清国产视频 | 有码一区二区三区 | 久久99精品视频 | 久久久久久久久久久高潮一区二区 | 十八岁以下禁止观看的1000个网站 | 国产精品99久久久 | 91看片淫黄大片在线播放 | 国产精品2020 | 五月婷婷激情综合 | 99视频在线精品免费观看2 | 国产精品成人在线 | 国产粉嫩在线观看 | 99se视频在线观看 | a一片一级 | www.com久久久 | 成人动漫一区二区 | 中文字幕a∨在线乱码免费看 | 亚洲精品三级 | 91精品国产91久久久久福利 | 国产二区免费视频 | 丝袜一区在线 | 欧美精品久久久久久久久久 | 国产韩国精品一区二区三区 | 欧美精品二 | 久草在线免费电影 | 欧美久久影院 | 日韩二区精品 | 亚洲日韩欧美视频 | www看片网站 | 亚洲精品视频一二三 | 天天操综合网站 | 麻花豆传媒mv在线观看网站 | 国产精品不卡视频 | 丁香婷婷射 | 亚洲女在线 | 国产精品成人av电影 | av黄色一级片 | 亚洲小视频在线观看 | 瑞典xxxx性hd极品 | 欧美日一级片 | 999久久久久 | 日韩三级视频在线看 | 四月婷婷在线观看 | 最新av网址在线 | 在线播放亚洲 | 一区二区视频在线看 | 欧美精品二 | 97在线精品视频 | aaa毛片视频 | 国产成人久久精品一区二区三区 | 亚洲视频一区二区三区在线观看 | 国产不卡av在线播放 | 国产黄色免费在线观看 | 国产精品久久久久久久久久久久午夜 | 日韩精品你懂的 | 日本黄区免费视频观看 | 黄网站色视频免费观看 | 精品一二三四在线 | 天天爽天天碰狠狠添 | 亚洲成人高清在线 | 亚洲天天看 | 91精品国产三级a在线观看 | 国产麻豆精品在线观看 | 456免费视频 | www.色五月.com | 天天曰天天干 | av在线播放网址 | 在线 国产 日韩 | 91在线视频观看免费 | 黄色.com| 日韩理论电影在线观看 | 亚洲开心激情 | 午夜国产一区二区 | 999久久久久久久久 69av视频在线观看 | 国产精品成 | 狠狠操在线 | 欧美欧美| 人成电影网 | 亚洲欧美视频一区二区三区 | 久久精品国产久精国产 | 亚洲高清视频在线观看免费 | 人人干人人超 | 日本久久免费视频 | 黄色网中文字幕 | 91亚洲夫妻 | 亚洲无吗天堂 | 黄色国产精品 | 在线天堂日本 | 狠狠狠狠狠狠狠干 | 亚洲视频六区 | 色中文字幕在线观看 | 久久在线视频在线 | 日日躁你夜夜躁你av蜜 | 最新免费中文字幕 | 97网站| 亚洲精品国偷拍自产在线观看蜜桃 | 91视频在线国产 | 精品久久久成人 | 日日操日日插 | 国产高清在线观看av | 久久久免费毛片 | 手机成人免费视频 | 亚州欧美视频 | 久久福利剧场 | 成人一级 | 日韩免费电影一区二区 | 欧美精品国产精品 | 久久久精品福利视频 | 日韩三级一区 | 免费av网站在线 | 波多野结衣电影一区二区 | 日韩av区| 岛国av在线免费 | 欧美精品久久久久久久久老牛影院 | 天天操天天吃 | 91九色在线视频 | 天天干天天拍天天操天天拍 | 激情久久久久 | 99久久精品免费看国产一区二区三区 | 久久成人免费视频 | 天天操欧美 | 久久久综合九色合综国产精品 | 日韩午夜三级 | 狠狠色狠狠色综合日日92 | 夜夜夜夜爽| 久久黄色免费 | 九九视频在线观看视频6 | 日韩色一区二区三区 | 麻豆国产精品永久免费视频 | 国产精品综合久久久 | 97热视频| 欧美成人xxx | 成年人视频免费在线 | 亚洲国产高清在线观看视频 | 久草网站在线观看 | 天天射天天操天天色 | 精品一区二区三区香蕉蜜桃 | 青草视频网 | 中文在线免费看视频 | 日本中文字幕系列 | 五月天丁香视频 | 日本在线观看一区二区 | 911精品美国片911久久久 | 免费看片黄色 | 鲁一鲁影院| 在线观看日韩精品视频 | 久久久久国产精品一区二区 | 夜夜操网 | 午夜精品视频在线 | 最近日韩免费视频 | 国产私拍在线 | 黄色片网站av | 成人免费中文字幕 | 欧美一级电影免费观看 | 久久综合九色综合97_ 久久久 | a国产精品| 日韩免费看的电影 | 亚洲精品视频网 | 国产精品区免费视频 | 国产高清精品在线观看 | 中文字幕国产一区 | 日日躁天天躁 | 草久久久久久久 | 在线成人免费电影 | 天天天天天天干 | 久久视频免费 | 天天操欧美 | 国产精品一区二区免费在线观看 | 久久精品日产第一区二区三区乱码 | 狠狠操导航 | 精品国产片 | 午夜婷婷综合 | 在线观看av网站 | 天堂在线一区 | av资源中文字幕 | 欧美精品一区二区在线观看 | 在线一二区 | 久久试看| 91九色在线观看视频 | 中文字幕精品一区久久久久 | 成人啪啪18免费游戏链接 | 亚洲精品影视 | 亚洲v欧美v国产v在线观看 | av福利网址导航大全 | 久久激情日本aⅴ | 色丁香色婷婷 | 国产精品高清一区二区三区 | 97超碰超碰久久福利超碰 | 国产天天综合 | 激情五月开心 | www.久久色.com| 精品美女在线观看 | 国产视频二 | 黄色在线视频网址 | 国产精品嫩草影视久久久 | 国产亚洲视频在线 | 国内精品视频久久 | 这里只有精彩视频 | 亚洲国产精品人久久电影 | 中文字幕色在线视频 | 色综合色综合久久综合频道88 | 不卡视频在线 | 色婷婷骚婷婷 | 97视频在线看 | 人人澡人人舔 | 欧美精品久久人人躁人人爽 | 国产亚洲午夜高清国产拍精品 | 中文字幕色在线视频 | 正在播放五月婷婷狠狠干 | 少妇性xxx| 亚洲三级av | 日韩69视频 | 欧美日韩免费一区二区 | 中文字幕麻豆 | 亚洲午夜久久久久久久久电影网 | 肉色欧美久久久久久久免费看 | 国产久草在线观看 | 美女视频黄是免费的 | 激情视频免费在线 | 久久精品第一页 | 日韩色视频在线观看 | 女女av在线 | 国产小视频在线观看 | 国产精品久久久久久高潮 | 欧美xxxxx在线视频 | www视频在线播放 | 久久久久观看 | 91九色蝌蚪国产 | 天堂av在线中文在线 | 97视频在线看 | 99精品国产视频 | 久久精品中文字幕 | 91av看片 | 91视频免费看片 | 97精品在线 | 国产一区欧美一区 | 狠狠色噜噜狠狠狠狠2021天天 | av黄色在线观看 | 亚洲九九爱 | 国产一级淫片免费看 | 91精品国产福利在线观看 | 狠狠操电影网 | 色综合天天狠天天透天天伊人 | 在线观看国产福利片 | 中文字幕在线国产精品 | 香蕉视频最新网址 | 热99在线视频 | 天天视频色 | av资源免费观看 | 91人人澡人人爽人人精品 | 国产老妇av| 日韩精品不卡在线 | 国产一区免费在线观看 | 日韩在线观看你懂得 | 国产字幕在线看 | 婷婷色网视频在线播放 | 亚洲综合少妇 | 三级黄色大片在线观看 | 国产精品区在线观看 | 超碰日韩在线 | www.99在线观看 | 久草在线资源免费 | 日韩激情片在线观看 | 国产小视频网站 | 日本三级不卡视频 | 四虎在线视频 | 在线观看视频免费大全 | 午夜三级在线 | 成人黄在线观看 | 成人黄色片免费 | 美女网站视频免费都是黄 | 日韩一区二区在线免费观看 | 国产精彩在线视频 | 精壮的侍卫呻吟h | 久久国产精品一区二区三区 | 国产精品剧情 | 中文字幕一区二区三区在线视频 | 欧美粗又大| 男女靠逼app | 日韩av看片 | 9在线观看免费高清完整 | 一区二区三区免费在线 | 亚洲精品天天 | 337p西西人体大胆瓣开下部 | 99视频精品免费观看, | 人成在线免费视频 | 婷婷丁香在线 | www.五月天激情 | 国产乱码精品一区二区三区介绍 | 亚洲 在线 | 手机av资源 | 日韩在线激情 | 色狠狠综合天天综合综合 | 激情一区二区三区欧美 | 欧美久草在线 | 亚洲美女在线国产 | 欧美视频日韩 | 久操免费视频 | 色av网站| 欧美色888| 国产视频日韩视频欧美视频 | 果冻av在线 | 激情在线网 | 久久久精品久久日韩一区综合 | 国产色视频123区 | 久久99亚洲精品久久 | 人人搞人人搞 | 国外调教视频网站 | 成年人免费在线观看网站 | 天天色天天草天天射 | 亚洲国产精彩中文乱码av | 国产96av | 五月天丁香亚洲 | 日韩中文字幕在线看 | 免费观看黄色12片一级视频 | 中文字幕免费观看全部电影 | 亚洲人成免费 | 亚洲午夜久久久久久久久电影网 | 四川妇女搡bbbb搡bbbb搡 | 国产亚洲资源 | 国产高清免费 | 欧美在线观看视频一区二区三区 | 久久国产欧美日韩精品 | 成人黄色免费在线观看 | 99久久99 | 99视频在线免费观看 | 一区二区在线电影 | 精品久久久久久久久中文字幕 | 国产亚洲情侣一区二区无 | 国产青春久久久国产毛片 | 国内成人精品2018免费看 | 可以免费看av | 特级西西www44高清大胆图片 | 婷婷五月色综合 | 亚洲国产视频网站 | 欧美在线一级片 | 欧美999 | 日韩欧美一区二区三区在线 | 91精品国产99久久久久久久 | 国产精品久久久久久久久婷婷 | 九九综合久久 | 亚洲欧美激情精品一区二区 | 在线视频观看国产 | 2023亚洲精品国偷拍自产在线 | 毛片在线播放网址 | 成人av资源网站 | 一区免费观看 | 成人免费看片网址 | 特级西西444www大精品视频免费看 | 国产精品99久久久久的智能播放 | www.亚洲黄色 | 成人av电影免费观看 | 日韩高清不卡一区二区三区 | 国产精品欧美日韩在线观看 | 中文字幕一区二区三区乱码在线 |