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

首頁 > 系統 > Android > 正文

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

2019-11-09 17:53:10
字體:
來源:轉載
供稿:網友

這里寫圖片描述

介紹

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

基本使用方式

方式一:

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>

參數屬性

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

4.改變TabLayout內部字體大小

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

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

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

效果: 這里寫圖片描述

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

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

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

有時候Tab只有文字感覺有點單調了:

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

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

數據很多的時候我們應該怎么辦呢,簡書中的第二個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內部的子控件的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.內容的顯示模式

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

10.Tab的寬度限制

設置最大的tab寬度:

app:tabMaxWidth="xxdp"

設置最小的tab寬度:

app:tabMinWidth="xxdp"

11.Tab的“Margin”

TabLayout開始位置的偏移量:

app:tabContentStart="100dp"

12.TabLayout的監聽事件

選中了某個tab的監聽事件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的聯動

最后也是最重要的:

tabLayout.setupWithViewPager(Viewpager);

標簽導航欄使用

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

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

2.定義布局文件: 通過使用可知,上面那些標簽時通過TabLayout實現,而下面內容的變化則是ViewPager+Fragment實現的。 因此在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.具體實現代碼: (1)創建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的使用: 根據官方文檔說明,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的數據集 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的模式為“可滑動的”,現在我們把這句話去掉,來看看效果: 這里寫圖片描述 上面的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關聯起來。 mTabLayout.setupWithViewPager(mViewPager); //給TabLayout設置適配器 mTabLayout.setTabsFromPagerAdapter(mFragmentAdapteradapter); }

在這里我們設定了13個標題內容并創建了相應的TabLayout和Fragment,設置了ViewPager適配器和TabLayout適配器并將將TabLayout和ViewPager關聯起來。 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); }}

底部欄實現

這里寫圖片描述

布局 下面我們開始實現底部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; } }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
伊人伊成久久人综合网站| 亚洲精品国产欧美| 亚洲一区精品电影| 亚洲97在线观看| 大荫蒂欧美视频另类xxxx| 亚洲国产精品悠悠久久琪琪| 亚洲福利在线视频| 亚洲欧美另类国产| 精品久久久久人成| 综合网日日天干夜夜久久| 国产精品久久久久久久久久新婚| 国产精品日日做人人爱| 久久伊人精品视频| 亚洲最大的网站| 久久999免费视频| 国产亚洲一区二区精品| 日韩欧美一区视频| 久久综合88中文色鬼| www.欧美精品一二三区| 国产97人人超碰caoprom| 久久99国产精品久久久久久久久| 欧美俄罗斯乱妇| 午夜精品一区二区三区视频免费看| 91精品国产综合久久香蕉最新版| 国产日韩av在线播放| 粉嫩老牛aⅴ一区二区三区| 久久香蕉频线观| 中文字幕欧美日韩精品| 欧美日韩国产一中文字不卡| 精品亚洲va在线va天堂资源站| 欧美精品在线极品| 538国产精品一区二区免费视频| 一区二区三区视频免费| 一区二区三区回区在观看免费视频| 亚洲免费av网址| 欧美日韩精品在线播放| 国产午夜精品久久久| 国自产精品手机在线观看视频| 在线日韩日本国产亚洲| 91精品国产99久久久久久| 国产精品一久久香蕉国产线看观看| 亚洲天堂av图片| 亚洲欧洲av一区二区| 亚洲2020天天堂在线观看| 尤物九九久久国产精品的特点| 欧美日韩国产精品专区| 日韩在线视频导航| 亚洲第一视频网站| 国产成人一区三区| 国产亚洲欧美日韩精品| 欧美精品videos另类日本| 亚洲美女视频网| 亚洲第一中文字幕| 亚洲天堂成人在线视频| 国产一区二区三区在线看| 日韩电影中文字幕一区| 成人黄色av播放免费| 亚洲精品久久久久久久久久久久| 欧洲亚洲免费在线| 国产精品成人一区二区| 日韩精品极品在线观看| 亚洲美女又黄又爽在线观看| 超薄丝袜一区二区| 少妇高潮久久77777| 91九色视频导航| 国产精品视频久久久久| 午夜免费在线观看精品视频| 久久久视频精品| 粉嫩av一区二区三区免费野| 色与欲影视天天看综合网| 高跟丝袜欧美一区| 超碰精品一区二区三区乱码| 日本韩国欧美精品大片卡二| 日韩免费在线观看视频| 亚洲色图综合网| 热久久这里只有精品| 国产精品麻豆va在线播放| 日韩精品视频在线播放| 日韩av综合中文字幕| 亚洲成人动漫在线播放| 97精品国产97久久久久久免费| 国产盗摄xxxx视频xxx69| 日韩精品免费在线视频| 欧美激情按摩在线| 91精品国产乱码久久久久久久久| 在线精品国产成人综合| 国产精品com| 亚洲人成网站色ww在线| 欧美精品激情在线观看| 爽爽爽爽爽爽爽成人免费观看| 欧美日韩一区免费| 欧美理论在线观看| 亚洲人成伊人成综合网久久久| 中文日韩在线视频| 久久久99免费视频| 国产精品国内视频| 久久免费视频观看| 日韩成人在线视频网站| 欧美成人中文字幕| 日韩在线免费视频观看| 狠狠色香婷婷久久亚洲精品| 欧美体内谢she精2性欧美| 欧美亚洲国产另类| 精品夜色国产国偷在线| 懂色av一区二区三区| 欧美精品久久久久久久免费观看| 成人免费激情视频| 亚洲精品久久久久久久久久久| 欧美国产日韩在线| 亚洲色图18p| 最近2019年中文视频免费在线观看| 日韩精品视频免费专区在线播放| 亚洲一区二区中文字幕| 久久精品91久久香蕉加勒比| 热久久这里只有| 亚洲男女自偷自拍图片另类| 久久久久久久国产| 日韩美女视频免费在线观看| 亚洲最大激情中文字幕| 亚洲国产精久久久久久久| 欧美激情a在线| 国产精品久久久久久久电影| 亚洲久久久久久久久久| 国产成+人+综合+亚洲欧洲| 最近2019中文字幕一页二页| 午夜精品在线观看| 亚洲bt天天射| 欧美性猛交丰臀xxxxx网站| 亚洲精品午夜精品| 亚洲免费福利视频| 国产一区二区三区日韩欧美| 久久久国产91| 亚洲欧美国产精品va在线观看| 日本在线观看天堂男亚洲| 国内免费久久久久久久久久久| 日本亚洲欧洲色α| 2019中文字幕在线免费观看| 亚洲跨种族黑人xxx| 国产一区二区三区在线视频| 欧美大片免费观看| 欧美成人一区二区三区电影| 欧美成人精品在线| 亚洲xxx大片| 欧美日韩一区二区精品| 欧美一级片久久久久久久| 亚洲香蕉在线观看| 欧洲美女免费图片一区| 日韩中文字幕在线| 精品亚洲va在线va天堂资源站| 国产福利精品av综合导导航| 亚洲图片制服诱惑| 久久久精品视频成人| 久久亚洲影音av资源网| 欧美亚洲日本网站| 中文字幕一区电影| 8090理伦午夜在线电影| 亚洲精品久久久久中文字幕欢迎你| 国产日韩欧美在线播放| 久久影院在线观看| 91精品国产免费久久久久久| 色偷偷噜噜噜亚洲男人的天堂| 一区二区欧美激情| 一个人看的www欧美| 国产在线拍偷自揄拍精品|