亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統(tǒng) > Android > 正文

Android底部和標簽導航欄—TabLayout+Fragment

2019-11-09 17:53:10
字體:
來源:轉載
供稿:網(wǎng)友

這里寫圖片描述

介紹

Google官方在2014年Google I/O上推出了全新的設計語言——Material Design。一并推出了一系列實現(xiàn)Material Design效果的控件庫——Android Design Support Library。其中,有TabLayout, NavigationView,Floating labels for editing text,Floating Action Button,Snackbar, CoordinatorLayout, CollapsingToolbarLayout等等控件。在今后的學習中,我將一一介紹它們的特點和用法。 在移動應用中切換不同場景/功能,iOS中以底部三按鈕、四按鈕來實現(xiàn)的,而在Android中,則是抽屜式菜單或左右滑動式設計的。如何實現(xiàn)類似Google Play應用商店式的左右滑動,這就得靠TabLayout來實現(xiàn)了。

基本使用方式

方式一:

1.在布局中加入該控件:

<android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="wrap_content" android:layout_height="wrap_content"/>

2.在代碼中

tabLayout= (TabLayout) findViewById(R.id.tabLayout);tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));

這里寫圖片描述

方式二:

<android.support.design.widget.TabLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><android.support.design.widget.TabItemandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Tab1"/>...</android.support.design.widget.TabLayout>

參數(shù)屬性

上面的Tab顏色感覺不好看,打算換換: 1.改變選中于是現(xiàn)在我的Tab變成了這個樣子: 這里寫圖片描述

4.改變TabLayout內(nèi)部字體大小

總覺得這個字體有點小了,于是想找方法把這個字變得大一點,

好像沒有直接變大的方法,可是找到了這個:

app:tabTextAppearance="@android:style/TextAppearance.Holo.Large"http://設置文字的外貌

效果: 這里寫圖片描述

5.改變指示器下標的高度

既然字體變大了,指示器太小就顯得不太好看了,

設置指示器下標的高度: 效果: 這里寫圖片描述 6.添加圖標

有時候Tab只有文字感覺有點單調(diào)了:

tabLayout.addTab(tabLayout.newTab().setText("Tab 1").setIcon(R.m
ipmap.ic_launcher));

這里寫圖片描述 7.Tab的模式

數(shù)據(jù)很多的時候我們應該怎么辦呢,簡書中的第二個Tab就是可以滑動的:

我們先多加幾個tab:

tabLayout.addTab(tabLayout.newTab().setText("Tab 4"));tabLayout.addTab(tabLayout.newTab().setText("Tab 5"));tabLayout.addTab(tabLayout.newTab().setText("Tab 6"));tabLayout.addTab(tabLayout.newTab().setText("Tab 7"));

然后設置屬性為:

app:tabMode="scrollable"

默認是fixed:固定的,標簽很多時候會被擠壓,不能滑動。 這里寫圖片描述

8.加入Padding

設置Tab內(nèi)部的子控件的Padding:

app:tabPadding="xxdp"app:tabPaddingTop="xxdp"app:tabPaddingStart="xxdp"app:tabPaddingEnd="xxdp"app:tabPaddingBottom="xxdp"

設置整個TabLayout的Padding:

app:paddingEnd="xxdp"app:paddingStart="xxdp"

9.內(nèi)容的顯示模式

app:tabGravity="center"http://居中,如果是fill,則是充滿

10.Tab的寬度限制

設置最大的tab寬度:

app:tabMaxWidth="xxdp"

設置最小的tab寬度:

app:tabMinWidth="xxdp"

11.Tab的“Margin”

TabLayout開始位置的偏移量:

app:tabContentStart="100dp"

12.TabLayout的監(jiān)聽事件

選中了某個tab的監(jiān)聽事件OnTabSelectedListener():

tabLayout.setOnTabSelectedListener(newTabLayout.OnTabSelectedListener() {@Overridepublic voidonTabSelected(TabLayout.Tab tab) {//選中了tab的邏輯}@Overridepublic voidonTabUnselected(TabLayout.Tab tab) {//未選中tab的邏輯}@Overridepublic voidonTabReselected(TabLayout.Tab tab) {//再次選中tab的邏輯}});

13.和ViewPager的聯(lián)動

最后也是最重要的:

tabLayout.setupWithViewPager(Viewpager);

標簽導航欄使用

1.獲得Android Design Support Library庫: 依賴。

'compile 'com.android.support:design:22.2.1'

2.定義布局文件: 通過使用可知,上面那些標簽時通過TabLayout實現(xiàn),而下面內(nèi)容的變化則是ViewPager+Fragment實現(xiàn)的。 因此在MainActivity中:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical"> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="scrollable" /> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#ffffff" /></LinearLayout>

Fragment: 切換ViewPager,顯示不同的Fragment,在這里用一個布局相同的Fragment示例。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" /></LinearLayout>

3.具體實現(xiàn)代碼: (1)創(chuàng)建Fragment

public class PageFragment extends Fragment { public static final String ARGS_PAGE = "args_page"; private int mPage; public static PageFragment newInstance(int page) { Bundle args = new Bundle(); args.putInt(ARGS_PAGE, page); PageFragment fragment = new PageFragment(); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mPage = getArguments().getInt(ARGS_PAGE); } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_page,container,false); TextView textView = (TextView) view.findViewById(R.id.textView); textView.setText("第"+mPage+"頁"); return view; }}

(2)適配器類

class MyFragmentPagerAdapter extends FragmentPagerAdapter { public final int COUNT = 5; private String[] titles = new String[]{"Tab1", "Tab2", "Tab3", "Tab4", "Tab5"}; private Context context; public MyFragmentPagerAdapter(FragmentManager fm, Context context) { super(fm); this.context = context; } @Override public Fragment getItem(int position) { return PageFragment.newInstance(position + 1); } @Override public int getCount() { return COUNT; } @Override public CharSequence getPageTitle(int position) { return titles[position]; }}

(3)TabLayout的使用: 根據(jù)官方文檔說明,TabLayout的使用有以下兩種方式:

通過TabLayout的addTab()方法添加新構建的Tab實例到TabLayout中:

TabLayout tabLayout = ...; tabLayout.addTab(tabLayout.newTab().setText("Tab 1")); tabLayout.addTab(tabLayout.newTab().setText("Tab 2")); tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));

2.第二種則是使用ViewPager和TabLayout一站式管理Tab,也就是說不需要像第一種方式那樣手動添加Tab:

ViewPager viewPager = ...; TabLayout tabLayout = ...; viewPager.addOnPageChangeListener(new TabLayoutOnPageChangeListener(tabLayout));

而我們TabLayout的Demo就是用得第二種方式:

//Fragment+ViewPager+FragmentViewPager組合的使用 ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager); MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), this); viewPager.setAdapter(adapter); //TabLayout TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout); tabLayout.setupWithViewPager(viewPager);

這里寫圖片描述 下面就來解釋一下TabGravity和TabMode

TabGravity:放置Tab的Gravity,有GRAVITY_CENTER 和 GRAVITY_FILL兩種效果。顧名思義,一個是居中,另一個是盡可能的填充(注意,GRAVITY_FILL需要和MODE_FIXED一起使用才有效果)

TabMode:布局中Tab的行為模式(behavior mode),有兩種值:MODE_FIXED 和 MODE_SCROLLABLE。

MODE_FIXED:固定tabs,并同時顯示所有的tabs。

MODE_SCROLLABLE:可滾動tabs,顯示一部分tabs,在這個模式下能包含長標簽和大量的tabs,最好用于用戶不需要直接比較tabs。

下面用代碼來比較這兩種模式的不同:

class MyFragmentPagerAdapter extends FragmentPagerAdapter { //tabs的數(shù)據(jù)集 public final int COUNT = 10; private String[] titles = new String[]{"Tab2221", "T2", "Tb3", "Tab4", "Tab5555555555","Tab2221", "T2", "Tb3", "Tab4", "Tab5555555555"};...} //1.MODE_SCROLLABLE模式 tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); //2.MODE_FIXED模式 tabLayout.setTabMode(TabLayout.MODE_FIXED);

1.MODE_SCROLLABLE模式 這里寫圖片描述 2.MODE_FIXED模式 這里寫圖片描述

案例2:標簽欄

這里寫圖片描述

1. 配置build.gradle

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:design:22.2.0' compile 'com.android.support:recyclerview-v7:22.2.0' compile 'com.android.support:cardview-v7:22.2.0'}

com.android.support:design:22.2.0就是我們需要引入的Android Design Support Library,其次我們還引入了Recyclerview和Cardview

2.AppBarLayout,Toolbar與TabLayout 先看看主界面的布局 (activity_tab_layout.xml)

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".TabLayoutActivity" android:orientation="vertical"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="#ADBE107E" app:tabMode="scrollable"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/></LinearLayout>

這里用到了AppBarLayout和Toolbar,AppBarLayout是Android Design Support Library新加的控件繼承自LinearLayout,它用來將Toolbar和TabLayout組合起來作為一個整體。 這布局文件最關鍵的一點就是android.support.design.widget.TabLayout 標簽中的app:tabMode=”scrollable”,他設置tab的模式為“可滑動的”,現(xiàn)在我們把這句話去掉,來看看效果: 這里寫圖片描述 上面的tab由于太多(13個)卻不能滑動就重疊了。 接下來在java中引用 (TabLayoutActivity.java)

public class TabLayoutActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; private ViewPager mViewPager; private TabLayout mTabLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tab_layout); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); mViewPager = (ViewPager) findViewById(R.id.viewpager); initViewPager(); } private void initViewPager() { mTabLayout = (TabLayout) findViewById(R.id.tabs); List<String> titles = new ArrayList<>(); titles.add("精選"); titles.add("體育"); titles.add("巴薩"); titles.add("購物"); titles.add("明星"); titles.add("視頻"); titles.add("健康"); titles.add("勵志"); titles.add("圖文"); titles.add("本地"); titles.add("動漫"); titles.add("搞笑"); titles.add("精選"); for(int i=0;i<titles.size();i++){ mTabLayout.addTab(mTabLayout.newTab().setText(titles.get(i))); } List<Fragment> fragments = new ArrayList<>(); for(int i=0;i<titles.size();i++){ fragments.add(new ListFragment()); } FragmentAdapter mFragmentAdapteradapter = new FragmentAdapter(getSupportFragmentManager(), fragments, titles); //給ViewPager設置適配器 mViewPager.setAdapter(mFragmentAdapteradapter); //將TabLayout和ViewPager關聯(lián)起來。 mTabLayout.setupWithViewPager(mViewPager); //給TabLayout設置適配器 mTabLayout.setTabsFromPagerAdapter(mFragmentAdapteradapter); }

在這里我們設定了13個標題內(nèi)容并創(chuàng)建了相應的TabLayout和Fragment,設置了ViewPager適配器和TabLayout適配器并將將TabLayout和ViewPager關聯(lián)起來。 ListFragment的代碼(ListFragment.java)

public class ListFragment extends Fragment { private RecyclerView mRecyclerView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mRecyclerView =(RecyclerView) inflater.inflate(R.layout.list_fragment, container, false); return mRecyclerView; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mRecyclerView.setLayoutManager(new LinearLayoutManager(mRecyclerView.getContext())); mRecyclerView.setAdapter(new RecyclerViewAdapter(getActivity())); }}

這里用RecyclerView來代替ListView來看看RecyclerViewAdapter(RecyclerViewAdapter.java)

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> { private Context mContext; public RecyclerViewAdapter(Context mContext) { this.mContext = mContext; } @Override public RecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_card_main, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(final RecyclerViewAdapter.ViewHolder holder, int position) { final View view = holder.mView; view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } @Override public int getItemCount() { return 10; } public static class ViewHolder extends RecyclerView.ViewHolder { public final View mView; public ViewHolder(View view) { super(view); mView = view; } }}

最后FragmentAdapter(FragmentAdapter.java)

public class FragmentAdapter extends FragmentStatePagerAdapter { private List<Fragment> mFragments; private List<String> mTitles; public FragmentAdapter(FragmentManager fm, List<Fragment> fragments, List<String> titles) { super(fm); mFragments = fragments; mTitles = titles; } @Override public Fragment getItem(int position) { return mFragments.get(position); } @Override public int getCount() { return mFragments.size(); } @Override public CharSequence getPageTitle(int position) { return mTitles.get(position); }}

底部欄實現(xiàn)

這里寫圖片描述

布局 下面我們開始實現(xiàn)底部Tab,layout布局比較簡單,我們只用把TabLayout放置在底部即可

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/appbar" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1.0" android:scrollbars="none" /> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" style="@style/MyCustomTabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>

我定義了一個自定義的style,把tabIndicatorHeight設為0dp

<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout"> <item name="tabMaxWidth">@dimen/tab_max_width</item> <item name="tabIndicatorColor">?attr/colorAccent</item> <item name="tabIndicatorHeight">0dp</item> <item name="tabPaddingStart">12dp</item> <item name="tabPaddingEnd">12dp</item> <item name="tabBackground">@color/tab_bgcolor</item> <item name="tabSelectedTextColor">?android:textColorPrimary</item></style>

我們首先設置好ViewPager,然后設置TabLayout與ViewPager的對應關系,最后最關鍵的是使用TabLayout的setCustomView設置自定義的TAB View。

public class BottomTabActivity extends AppCompatActivity { private ViewPager viewPager; private TabLayout tabLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_bottom_tab); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle(R.string.title_buttom_tab); setSupportActionBar(toolbar); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onBackPressed(); } }); viewPager = (ViewPager)findViewById(R.id.viewPager); tabLayout = (TabLayout) findViewById(R.id.tabLayout); SampleFragmentPagerAdapter pagerAdapter = new SampleFragmentPagerAdapter(getSupportFragmentManager(), this); viewPager.setAdapter(pagerAdapter); tabLayout.setupWithViewPager(viewPager); for (int i = 0; i < tabLayout.getTabCount(); i++) { TabLayout.Tab tab = tabLayout.getTabAt(i); if (tab != null) { tab.setCustomView(pagerAdapter.getTabView(i)); } }// viewPager.setCurrentItem(1); tabLayout.getTabAt(0).getCustomView().setSelected(true); }} public class SampleFragmentPagerAdapter extends FragmentPagerAdapter { final int PAGE_COUNT = 3; private String tabTitles[] = new String[]{"TAB1","TAB2","TAB3"}; private Context context; public View getTabView(int position) { View v = LayoutInflater.from(context).inflate(R.layout.custom_tab, null); TextView tv = (TextView) v.findViewById(R.id.news_title); tv.setText(tabTitles[position]); ImageView img = (ImageView) v.findViewById(R.id.imageView); //img.setImageResource(imageResId[position]); return v; } public SampleFragmentPagerAdapter(FragmentManager fm, Context context) { super(fm); this.context = context; } @Override public int getCount() { return PAGE_COUNT; } @Override public Fragment getItem(int position) { return PageFragment.newInstance(position + 1); } @Override public CharSequence getPageTitle(int position) { return tabTitles[position]; } } public static class PageFragment extends Fragment { public static final String ARG_PAGE = "ARG_PAGE"; private int mPage; public static PageFragment newInstance(int page) { Bundle args = new Bundle(); args.putInt(ARG_PAGE, page); PageFragment fragment = new PageFragment(); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mPage = getArguments().getInt(ARG_PAGE); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_page, container, false); TextView textView = (TextView) view; textView.setText("Fragment #" + mPage); return view; } }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产手机视频在线| 国精品人妻无码一区二区三区喝尿| 17videosex性欧美| 日日干天天干| 在线免费观看黄色av| 久久人人超碰| 久久香蕉综合色| 国产又白又嫩又紧又爽18p| 一个人看的www在线免费观看| 国产成人拍精品视频午夜网站| 自拍偷拍精选| 国产白袜脚足j棉袜在线观看| 91麻豆精品国产91久久久久久久久| 亚洲区国产区| www.欧美免费| 日本高清视频在线| 图片区小说区区亚洲五月| 在线人成动漫视频在线观看| www.精选视频.com| 国产激情无码一区二区三区| 51精品久久久久久久蜜臀| 亚欧精品在线| a级黄色片网站| 在线观看v片| 成人性生交大合| 圆产精品久久久久久久久久久| 热re91久久精品国99热蜜臀| 精品欧美色视频网站在线观看| 免费污污视频在线观看| 亚洲精品久久久久中文字幕欢迎你| 欧美日韩高清丝袜| 日韩av在线不卡| 国产亚洲欧美色| 欧美三级中文字| 性猛交ⅹ×××乱大交| www.99在线| yy111111少妇影院日韩夜片| 亚洲成人最新网站| 国产不卡视频在线观看| 亚洲国产一区二区三区青草影视| 亚洲天堂男人天堂| 美女视频黄频大全不卡视频在线播放| 亚洲最新视频在线| 91色视频在线观看| 日本一区二区久久精品| 丰腴饱满的极品熟妇| 国产黄色免费观看| 伦一区二区三区中文字幕v亚洲| 久草资源站在线观看| 日本不卡三区| 日日碰狠狠添天天爽| 91精品中文字幕一区二区三区| 91丝袜美腿美女视频网站| 免费成人av网站| 欧美另类精品xxxx孕妇| 亚洲天堂免费| 日韩视频在线免费播放| 色男人天堂综合再现| 114国产精品久久免费观看| 成人在线丰满少妇av| 日韩一卡二卡三卡四卡| 变态另类ts人妖一区二区| 伊人久久久久久久久久| 国产精品极品尤物在线观看| 91蜜臀精品国产自偷在线| 免费观看成人毛片| 伊人久久大香| 国产一区在线不卡| 久久久久久久久久久久久久久久久| 中文字幕第二区| 国产又大又黑又粗| 成人涩涩免费视频| 成人亚洲综合天堂| 99热在线只有精品| 国产精品伊人| 一级片免费在线播放| 欧美亚州韩日在线看免费版国语版| 亚洲av无码乱码在线观看性色| 国产精品入口麻豆免费看| 久久精品国产亚洲精品2020| 鲁大师精品99久久久| 精品久久久久久一区二区里番| 久久精品国产亚洲av麻豆蜜芽| 日本精品一区二区三区高清 久久| 2021天堂中文幕一二区在线观| 亚洲天堂网在线视频| 日本爱爱网站| 国产米奇在线777精品观看| 亚洲激情自拍图| 成人精品视频一区二区三区| 国产丝袜欧美中文另类| 麻豆精品免费视频| 国产精品久久久久久av下载红粉| 99九九电视剧免费观看| 中文字幕乱码人妻综合二区三区| 亚洲免费av在线| 中文字幕不卡在线播放| 在线不卡日本v二区707| 无码人妻aⅴ一区二区三区日本| 久久久久久久久四区三区| 啊啊啊射了视频网站| 精品一区二区三区蜜桃| 国产又粗又猛又爽又| 人妻少妇无码精品视频区| 国产免费一区视频观看免费| 91精品国产一区二区| 国产喷水福利在线视频| 日本精品一区二区三区在线观看视频| 免费观看又污又黄在线观看国产| 丝袜a∨在线一区二区三区不卡| 国产精品国产自产拍高清av| 午夜影院免费| 自拍偷拍亚洲欧美日韩| 六十路精品视频| 免费av中文字幕| 欧美精品久久一区二区| 国产成人精品视频一区| 国产成人精品视频在线| 色婷婷av一区二区三区gif| 福利一区二区在线| 午夜先锋成人动漫在线| 久草网视频在线观看| 亚洲视频电影在线| aa日韩免费精品视频一| 国产在线视频第一页| 国产成人av电影在线观看| 久久99久国产精品黄毛片入口| 精品福利在线看| 久久riav二区三区| 87福利电影网| 国产一二三精品| 日本一区二区三区视频在线播放| 人人狠狠综合久久亚洲婷| 成人观看视频| 日本中文字幕久久看| 神马午夜在线观看| 成人在线一区二区三区| 五月天免费网站| 九色porny在线观看| 亚洲娇小xxxx欧美娇小| 欧美激情视频在线免费观看 欧美视频免费一| 日本精品视频一区二区三区| 91网站进入| 亚洲综合色在线| 中文字幕 亚洲一区| 国产日韩视频一区| 91国偷自产一区二区三区观看| 小小的日本在线观看免费色网| 日韩国产高清视频在线| 亚洲永久免费网站| 日本一区二区三区精品视频| 福利小视频在线观看| 日本中文字幕免费在线观看| 亚洲第一免费视频| 中文字幕日本最新乱码视频| 亚洲国产中文字幕在线视频综合| 欧美一区二区三区视频在线观看| 亚洲欧美久久精品| 欧美另类69精品久久久久9999| 精品国产一区久久| 亚洲精品一区三区三区在线观看| 久久一级黄色片| 在线免费观看高清视频| 亚洲影院一区| 久操久操久操| 激情亚洲小说| 欧美熟妇精品一区二区| 自拍视频一区| 91精品国产综合久久久久久豆腐| 日韩精品一区二区三区色欲av| 久久久久久久中文字幕| 日韩欧国产精品一区综合无码| 日韩精品在线一区| 国产视频在线播放| 悠悠资源网久久精品| 男人添女人下部高潮视频在线观看| 久久精品日韩| 亚洲美女15p| 成人av免费电影网站| 色综合久久天天| 日韩av在线一区二区| 妺妺窝人体色www在线观看| 欧美日韩一二三四区| 韩国av一区二区三区| 亚洲视频网在线直播| japan高清日本乱xxxxx| 免费黄色av| 国产99视频精品免视看7| 色视频一区二区| 激情视频一区二区三区| 久久久久久久久久久99999| аⅴ资源天堂资源库在线| 国产理论在线| 不卡一区视频| 亚洲美女炮图| 久久久久国产精品一区二区| 91国偷自产一区二区三区成为亚洲经典| 米奇精品一区二区三区在线观看| 天天操天天干天天| 夜夜躁狠狠躁日日躁av| 久久视频这里有精品| 韩国三级日本三级少妇99| 国产精品久久久久久久久免费樱桃| 777午夜精品福利在线观看| 亚洲国产精品久久久久| 欧美99在线视频观看| 韩国女主播一区二区| 综合久久一区| 欧美性猛交xxxxxxxx| 99久久综合| 亚洲精品www久久久久久广东| 两个人的视频www国产精品| 国产精品毛片一区二区| 视频一区二区在线播放| 免费裸体视频网站| 国产卡一卡二卡三| 国产一区 二区 三区一级| 好吊色一区二区三区| mm1313亚洲国产精品无码试看| 在线色视频网| 国产精品探花视频| 亚洲大肥女ass| 少妇视频一区二区| 成年人午夜视频| 99久久久精品免费观看国产| 俄罗斯xxxx性全过程| 亚洲制服一区| 满满都是荷尔蒙韩剧在线观看| 国产精品色婷婷久久58| 国产精品久久占久久| 午夜精品久久久久久久99热浪潮| 欧美日韩一区 二区 三区 久久精品| 欧美在线 | 亚洲| 1区2区3区国产精品| 成人精品视频网站| 国产欧美精品一区二区三区| 国产日韩换脸av一区在线观看| 午夜免费福利在线观看| 99在线热播精品免费99热| 亚洲成va人在线观看| 亚洲精品成人久久久| 日本亚洲一区| 天堂аⅴ在线最新版在线| 亚洲一级片免费看| 久久久噜久噜久久综合| 精品一区二区无码| 欧美精品亚州精品| 亚洲国产精品18久久久久久| 成 人 黄 色 小说网站 s色| 精品电影一区二区| 国产精品午夜国产小视频| 国产乱人伦丫前精品视频| 悠悠资源网久久精品| 成人黄色大片在线观看| 亚洲一级片av| 亚洲欧美制服另类日韩| 国产小视频免费在线观看| 国产伦理一区二区三区| 亚洲自拍偷拍在线| 极品少妇xxxx精品少妇| 蜜臀91精品一区二区三区| 在线国产电影不卡| 青花影视在线观看免费高清| 四虎国产精品免费久久5151| 亚洲不卡一卡2卡三卡4卡5卡精品| 亚洲精品午夜级久久久久| 欧美国产日本在线| 污视频在线观看免费网站| 俺来俺也去www色在线观看| 国产精品色噜噜| 特级西西444www大胆免费看| 日韩欧美一中文字暮专区| 久久久久久久国产精品视频| xxx亚洲日本| 在线免费色视频| 久久九九久久九九| 精品视频免费观看| 欧美激情一级二级三级在线视频| 午夜久久久久久噜噜噜噜| 亚洲综合一区二区三区| 每日在线观看av| 女人和拘做爰正片视频| 欧美自拍一区| 99久久夜色精品国产网站| 欧美性受xxxx狂喷水| 亚洲伦乱视频| 日韩国产第一页| 成人在线视频一区二区| 欧美日韩国产精品成人| 欧美丰满美乳xxx高潮www| 日本美女爱爱视频| 日本中文字幕一区二区有限公司| 成人av在线电影| 久久综合狠狠综合| 成人一区二区三区视频| 伊人青青综合网站| 日韩一区二区三区四区在线| 日韩一区二区在线视频| 神马午夜一区二区| 国产精品啪视频| 一区在线免费| 亚洲AV午夜精品| 污视频网站在线免费观看| 日韩视频第二页| 午夜精品一区二区在线观看的| 亚洲黄色精品视频| 岛国在线免费| 欧美日韩专区在线| 日韩在线视频免费看| 久久影院一区二区| 免费在线成人激情电影| 欧美日韩午夜视频在线观看| 国产网站一区二区三区| a v视频在线观看| 亚洲丝袜一区在线| 黄色在线免费播放| 日韩在线观看| 禁网站在线观看免费视频| 在线观看日韩av| 蜜臀在线免费观看| 丝袜足控免费网站xx网站| 国产调教打屁股xxxx网站| 人妻互换一二三区激情视频| 亚洲成a人片综合在线| 日本一区免费观看| 免费黄色av片| 美女黄色成人网| 成人看片在线观看|