精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android fragment使用詳解及案例

移動開發 Android
自從Android 3.0中引入fragments 的概念,根據詞海的翻譯可以譯為:碎片、片段。其上的是為了解決不同屏幕分辯率的動態和靈活UI設計。大屏幕如平板小屏幕如手機,平板電腦的設計使得其有更多的空間來放更多的UI組件,而多出來的空間存放UI使其會產生更多的交互,從而誕生了fragments 。

Fragment 設計理念

在設計應用時特別是Android 應用 ,有眾多的分辨率要去適應,而fragments 可以讓你在屏幕不同的屏幕上動態管理UI。例如:通訊應用程序(QQ),用戶列表可以在左邊,消息窗口在右邊的設計。而在手機屏幕用戶列表填充屏幕當點擊某一用戶時,則彈出對話窗口的設計,如下圖:

 

Fragment的生命周期 

每一個fragments 都有自己的一套生命周期回調方法和處理自己的用戶輸入事件。 對應生命周期可參考下圖:

 

其中大多數程序必須使用Fragments 必須實現的三個回調方法分別為:

onCreate

系統創建Fragments 時調用,可做執行初始化工作或者當程序被暫停或停止時用來恢復狀態,跟Activity 中的onCreate相當。 

onCreateView

用于首次繪制用戶界面的回調方法,必須返回要創建的Fragments 視圖UI。假如你不希望提供Fragments 用戶界面則可以返回NULL。 

onPause 

當用戶離開這個Fragments 的時候調用,這時你要提交任何應該持久的變化,因為用戶可能不會回來。更多的事件可以參考上圖的生命周期關系圖。

Fragment 的類別

系統內置了三種Fragments ,這三種Fragments 分別有不同的應用場景分別為:

DialogFragment

對話框式的Fragments,可以將一個fragments 對話框并到activity 管理的fragments back stack 中,允許用戶回到一個前曾摒棄fragments.

ListFragments

類似于ListActivity 的效果,并且還提供了ListActivity 類似的onListItemCLick和setListAdapter等功能。

PreferenceFragments

類似于PreferenceActivity .可以創建類似IPAD的設置界面。 

Fragment 的詳細使用 

首先先來看一張DEMO 效果圖:

 

左邊點擊時,右邊的字符會與左邊選中的項的字符相同。與IPAD上的設置界面很相似,這一點是否借鑒了ipad 上的UI呢?

相就的XML文件:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="match_parent" 
  4.     android:layout_height="match_parent" 
  5.     android:orientation="horizontal" > 
  6.  
  7.    <fragment class="com.xuzhi.fragment.FragmentDemoActivity$TitlesFragment" android:id="@+id/titles" android:layout_weight="1" 
  8.        android:layout_width="0px" android:layout_height="match_parent" 
  9.        /> 
  10.     
  11.    <FrameLayout android:id="@+id/details" android:layout_weight="1" android:layout_width="0px" android:layout_height="match_parent" 
  12.        android:background="?android:attr/detailsElementBackground" 
  13.        ></FrameLayout> 
  14. </LinearLayout> 

主界面代碼(己做注釋):

  1. package com.xuzhi.fragment; 
  2. import android.app.Activity; 
  3. import android.app.AlertDialog; 
  4. import android.app.Fragment; 
  5. import android.app.FragmentTransaction; 
  6. import android.app.ListFragment; 
  7. import android.os.Bundle; 
  8. import android.util.TypedValue; 
  9. import android.view.LayoutInflater; 
  10. import android.view.View; 
  11. import android.view.ViewGroup; 
  12. import android.widget.ArrayAdapter; 
  13. import android.widget.ListView; 
  14. import android.widget.ScrollView; 
  15. import android.widget.TextView; 
  16.  
  17. public class FragmentDemoActivity extends Activity { 
  18.  
  19.     public static String[] array = { "text1,""text2""text3""text4"
  20.             "text5,""text6""text7""text8" }; 
  21.  
  22.     /** Called when the activity is first created. */ 
  23.     @Override 
  24.     public void onCreate(Bundle savedInstanceState) { 
  25.         super.onCreate(savedInstanceState);  
  26.         setContentView(R.layout.main); 
  27.     } 
  28.  
  29.          
  30.     public static class TitlesFragment extends ListFragment { 
  31.  
  32.         boolean mDualPane; 
  33.         int mCurCheckPosition = 0
  34.          
  35.         @Override 
  36.         public void onCreate(Bundle savedInstanceState) { 
  37.             // TODO Auto-generated method stub 
  38.             super.onCreate(savedInstanceState); 
  39.             System.out.println("Fragment-->onCreate"); 
  40.         } 
  41.          
  42.         @Override 
  43.         public View onCreateView(LayoutInflater inflater, ViewGroup container, 
  44.                 Bundle savedInstanceState) { 
  45.             // TODO Auto-generated method stub 
  46.             System.out.println("Fragment-->onCreateView"); 
  47.             return super.onCreateView(inflater, container, savedInstanceState); 
  48.         } 
  49.          
  50.         @Override 
  51.         public void onPause() { 
  52.             // TODO Auto-generated method stub 
  53.             super.onPause(); 
  54.             System.out.println("Fragment-->onPause"); 
  55.         } 
  56.          
  57.          
  58.         @Override 
  59.         public void onStop() { 
  60.             // TODO Auto-generated method stub 
  61.             super.onStop(); 
  62.              
  63.             System.out.println("Fragment-->onStop"); 
  64.         } 
  65.          
  66.         @Override 
  67.         public void onAttach(Activity activity) { 
  68.             // TODO Auto-generated method stub 
  69.             super.onAttach(activity); 
  70.             System.out.println("Fragment-->onAttach"); 
  71.         } 
  72.          
  73.         @Override 
  74.         public void onStart() { 
  75.             // TODO Auto-generated method stub 
  76.             super.onStart(); 
  77.             System.out.println("Fragment-->onStart"); 
  78.         } 
  79.          
  80.         @Override 
  81.         public void onResume() { 
  82.             // TODO Auto-generated method stub 
  83.             super.onResume(); 
  84.             System.out.println("Fragment-->onResume"); 
  85.         } 
  86.          
  87.         @Override 
  88.         public void onDestroy() { 
  89.             // TODO Auto-generated method stub 
  90.             super.onDestroy(); 
  91.             System.out.println("Fragment-->onDestroy"); 
  92.         } 
  93.          
  94.          
  95.  
  96.         @Override 
  97.         public void onActivityCreated(Bundle savedInstanceState) { 
  98.             // TODO Auto-generated method stub 
  99.             super.onActivityCreated(savedInstanceState); 
  100.             System.out.println("Fragment-->onActivityCreted"); 
  101.             setListAdapter(new ArrayAdapter<String>(getActivity(), 
  102.                     android.R.layout.simple_list_item_1, array)); 
  103.  
  104.             View detailsFrame = getActivity().findViewById(R.id.details); 
  105.  
  106.             mDualPane = detailsFrame != null 
  107.                     && detailsFrame.getVisibility() == View.VISIBLE; 
  108.  
  109.             if (savedInstanceState != null) { 
  110.                 mCurCheckPosition = savedInstanceState.getInt("curChoice"0); //從保存的狀態中取出數據 
  111.             } 
  112.  
  113.             if (mDualPane) { 
  114.                 getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
  115.  
  116.                 showDetails(mCurCheckPosition); 
  117.             } 
  118.         } 
  119.  
  120.         @Override 
  121.         public void onSaveInstanceState(Bundle outState) { 
  122.             // TODO Auto-generated method stub 
  123.             super.onSaveInstanceState(outState); 
  124.  
  125.             outState.putInt("curChoice", mCurCheckPosition);//保存當前的下標 
  126.         } 
  127.  
  128.         @Override 
  129.         public void onListItemClick(ListView l, View v, int position, long id) { 
  130.             // TODO Auto-generated method stub 
  131.             super.onListItemClick(l, v, position, id); 
  132.             showDetails(position); 
  133.         } 
  134.  
  135.         void showDetails(int index) { 
  136.             mCurCheckPosition = index;  
  137.             if (mDualPane) { 
  138.                 getListView().setItemChecked(index, true); 
  139.                 DetailsFragment details = (DetailsFragment) getFragmentManager() 
  140.                         .findFragmentById(R.id.details);  
  141.                 if (details == null || details.getShownIndex() != index) { 
  142.                     details = DetailsFragment.newInstance(mCurCheckPosition);  
  143.  
  144.                     //得到一個fragment 事務(類似sqlite的操作) 
  145.                     FragmentTransaction ft = getFragmentManager() 
  146.                             .beginTransaction(); 
  147.                     ft.replace(R.id.details, details);//將得到的fragment 替換當前的viewGroup內容,add則不替換會依次累加 
  148.                     ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);//設置動畫效果 
  149.                     ft.commit();//提交 
  150.                 } 
  151.             } else { 
  152.                 new AlertDialog.Builder(getActivity()).setTitle( 
  153.                         android.R.string.dialog_alert_title).setMessage( 
  154.                         array[index]).setPositiveButton(android.R.string.ok, 
  155.                         null).show(); 
  156.             } 
  157.         } 
  158.     } 
  159.  
  160.     /** 
  161.      * 作為界面的一部分,為fragment 提供一個layout 
  162.      * @author terry 
  163.      * 
  164.      */ 
  165.     public static class DetailsFragment extends Fragment { 
  166.  
  167.         public static DetailsFragment newInstance(int index) {  
  168.             DetailsFragment details = new DetailsFragment(); 
  169.             Bundle args = new Bundle(); 
  170.             args.putInt("index", index); 
  171.             details.setArguments(args); 
  172.             return details; 
  173.         } 
  174.  
  175.         public int getShownIndex() { 
  176.             return getArguments().getInt("index"0); 
  177.         } 
  178.  
  179.         @Override 
  180.         public View onCreateView(LayoutInflater inflater, ViewGroup container, 
  181.                 Bundle savedInstanceState) { 
  182.             // TODO Auto-generated method stub 
  183.             if (container == null
  184.                 return null
  185.  
  186.             ScrollView scroller = new ScrollView(getActivity()); 
  187.             TextView text = new TextView(getActivity()); 
  188.  
  189.             int padding = (int) TypedValue.applyDimension( 
  190.                     TypedValue.COMPLEX_UNIT_DIP, 4, getActivity() 
  191.                             .getResources().getDisplayMetrics()); 
  192.             text.setPadding(padding, padding, padding, padding); 
  193.             scroller.addView(text); 
  194.  
  195.             text.setText(array[getShownIndex()]); 
  196.             return scroller; 
  197.         } 
  198.     } 
  199.  

注意:

  1. 如果你想在Fragment 里面創建menu,則必須在onCreate的時候設置讓它可以存在optionMenu才可以創建,代碼為:
  1. public static class DetailsFragment extends Fragment { 
  2.  
  3.         @Override 
  4.         public void onCreate(Bundle savedInstanceState) { 
  5.             // TODO Auto-generated method stub 
  6.             super.onCreate(savedInstanceState); 
  7.             setHasOptionsMenu(true); 
  8.         } 

之后的操作即可以像平常Android的menu用法一樣,代碼為:

  1. @Override 
  2.         public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
  3.             // TODO Auto-generated method stub 
  4.             super.onCreateOptionsMenu(menu, inflater); 
  5.              menu.add("Menu 1a").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
  6.                 menu.add("Menu 1b").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
  7.         } 
  8.          
  9.         @Override 
  10.         public boolean onOptionsItemSelected(MenuItem item) { 
  11.             // TODO Auto-generated method stub 
  12.             Toast.makeText(getActivity(), "index is"+getShownIndex()+" && menu text is "+item.getTitle(), 1000).show(); 
  13.             return super.onOptionsItemSelected(item); 
  14.         } 
責任編輯:張葉青 來源: 博客園
相關推薦

2009-08-03 11:38:57

linux at命令詳linux at命令

2018-07-12 15:03:41

2016-12-02 19:00:13

Android FraAndroid

2025-04-24 10:40:46

CatalogFlink SQL元數據

2014-07-21 10:12:00

FragmentiewPagerIndcsdn app

2010-06-24 11:16:17

Linux Cat命令詳解

2010-06-01 16:46:38

Rsync 命令

2010-01-28 10:31:32

Android使用SD

2010-02-03 15:59:08

Android組件

2019-07-24 05:36:25

物聯網設備物聯網IOT

2009-07-31 17:51:42

linux vi命令詳linux vi命令編輯器

2021-09-29 06:03:37

JavaScriptreduce() 前端

2013-06-04 17:23:55

Android開發移動開發Fragment

2018-03-29 08:38:10

2017-02-17 11:50:18

AndroidBitmap緩存池

2011-09-13 17:03:16

Eclipse And

2012-04-06 10:44:02

2023-11-10 08:17:01

分布式搜索引擎

2025-01-20 07:00:00

2023-07-03 15:55:05

語法jpa狀態
點贊
收藏

51CTO技術棧公眾號

91禁在线观看| 亚洲精品成人无码| rebdb初裸写真在线观看| 99riav久久精品riav| 欧美一区二区三区图| 欧美 日韩 成人| 国产95亚洲| 偷窥少妇高潮呻吟av久久免费| 国产女主播一区二区| 国产字幕在线观看| 91精品国产91久久久久久黑人| 欧美成人性福生活免费看| 成人免费在线小视频| 婷婷免费在线视频| 9人人澡人人爽人人精品| 国产精品一区二区电影| 久久久久久久黄色| 日韩中文在线电影| 日韩av中文字幕在线免费观看| 国产无套粉嫩白浆内谢的出处| 成人在线app| 国产女人18毛片水真多成人如厕 | 国产一区视频导航| 5278欧美一区二区三区| 亚洲一二三在线观看| 天天躁日日躁狠狠躁欧美| 69久久99精品久久久久婷婷| 99热在线这里只有精品| 羞羞视频在线观看免费| 欧美韩国日本不卡| 精品一区二区久久久久久久网站| 国产精品污视频| 久久一二三区| 久久久久久久香蕉网| 国产黄色录像视频| 偷窥自拍亚洲色图精选| 91麻豆精品国产综合久久久久久| 黄色国产精品视频| 91桃色在线观看| 成人欧美一区二区三区1314| 欧洲精品一区色| 日韩一卡二卡在线| 高清国产午夜精品久久久久久| 国产精品一区二区久久久久| 麻豆精品久久久久久久99蜜桃| 狠狠干成人综合网| 欧美巨猛xxxx猛交黑人97人| 久久成人小视频| 不卡在线一区二区| 国产一区二区成人| 非洲一级黄色片| 妖精一区二区三区精品视频| 亚洲国产高清高潮精品美女| 蜜桃色一区二区三区| 免费欧美网站| 日韩一区二区电影| 先锋资源在线视频| 91精品福利观看| 欧美日韩成人高清| 狠狠操狠狠干视频| 国产精品视频一区二区三区综合| 欧美高清性hdvideosex| 亚洲精品永久视频| 亚洲影视资源| 欧美一区在线视频| 男人女人拔萝卜视频| 日本少妇精品亚洲第一区| 日韩三级视频在线看| 日韩高清一二三区| 久久久免费毛片| 日韩精品免费在线视频观看| 国产三级国产精品| 久久99国产精品视频| 中文字幕欧美精品在线| 懂色av蜜臀av粉嫩av永久| 国产高清欧美| 欧美精品在线看| 日韩黄色三级视频| 男人天堂欧美日韩| 国产精品自拍偷拍视频| 国产婷婷一区二区三区久久| 国产成人av一区| 国内不卡一区二区三区| 蜜桃视频在线观看网站| 国产日韩欧美一区二区三区乱码| 亚洲资源在线网| 污污在线观看| 欧美日韩亚洲精品内裤| 国产福利在线免费| 51精品国产| 日韩精品极品在线观看| www亚洲色图| 午夜国产精品视频免费体验区| 国内精品在线一区| 蜜臀尤物一区二区三区直播| 久久99国内精品| 国产成人精品日本亚洲11| 神马久久久久| 最新成人av在线| 国产3p露脸普通话对白| 国产亚洲一区二区手机在线观看| 欧美裸体bbwbbwbbw| 欧美丰满熟妇bbb久久久| 日韩三级av| 久久精品青青大伊人av| 日韩精品久久久久久久酒店| 美女一区二区久久| 国产在线精品日韩| 欧美jizzhd欧美| 亚洲成人动漫精品| 亚洲最大综合网| 成午夜精品一区二区三区软件| 亚洲欧洲国产伦综合| 91在线播放观看| 日韩精品成人一区二区在线| 动漫3d精品一区二区三区| 国产精品四虎| 亚洲不卡一区二区三区| 亚洲美女爱爱视频| 久久99国内| 久久免费视频网站| 91久久久久国产一区二区| 93久久精品日日躁夜夜躁欧美| 潘金莲一级淫片aaaaa免费看| jizz内谢中国亚洲jizz| 欧美精品一区二区在线播放| 网站永久看片免费| 国产精品免费看| 成人免费看片网站| 黄色在线播放网站| 欧美在线你懂得| 水蜜桃av无码| 午夜国产精品视频| 91久久久久久| 婷婷在线视频观看| 欧美视频一区在线观看| 大又大又粗又硬又爽少妇毛片| 欧美三级午夜理伦三级中文幕| 国产一区深夜福利| chinese偷拍一区二区三区| 色综合中文字幕| 国产老熟女伦老熟妇露脸| 午夜精品婷婷| 91久久极品少妇xxxxⅹ软件 | 91成人午夜| 久久中国妇女中文字幕| 亚洲视频一区在线播放| 欧美激情在线一区二区| 免费黄色特级片| 亚洲日产av中文字幕| 欧美一级淫片aaaaaaa视频| 免费观看国产视频| 亚洲综合色噜噜狠狠| www.污网站| 希岛爱理一区二区三区| 国产综合色香蕉精品| 日本电影全部在线观看网站视频| 在线观看日韩毛片| 色综合99久久久无码国产精品| 性欧美长视频| 日韩aⅴ视频一区二区三区| 二区三区不卡| 中文字幕欧美日韩va免费视频| 一级片视频在线观看| 久久精品一区二区| jizzjizz国产精品喷水| 亚洲人挤奶视频| 国产精品高潮呻吟久久av野狼| 成人在线免费公开观看视频| 欧美日韩一本到| 欧美在线视频第一页| 国产激情偷乱视频一区二区三区| 国产精品久久久久7777| 日韩母乳在线| 国产精品爽爽ⅴa在线观看| 免费观看在线午夜影视| 日韩欧美区一区二| 天天操天天干视频| 久久久久久99久久久精品网站| 国产精品亚洲二区在线观看| 成人高清av| 91免费国产视频| av3级在线| 亚洲欧美日韩图片| 97久久人国产精品婷婷| 亚洲综合一区二区| 亚洲精品视频大全| 久久99日本精品| 欧美这里只有精品| 欧美精美视频| 91日本在线视频| 国产在线看片免费视频在线观看| 亚洲性视频网址| 国产青青草视频| 精品福利视频导航| 蜜桃av免费观看| 成人免费视频国产在线观看| 成年网站在线免费观看| 你懂的国产精品| 久久天天狠狠| 成人永久在线| 奇米四色中文综合久久| 黄网页在线观看| 亚洲欧美国产精品va在线观看| 国产又粗又猛又黄| 狠狠躁夜夜躁人人躁婷婷91| 天天做夜夜爱爱爱| 久久蜜桃av一区二区天堂| 性久久久久久久久久久久久久| 国产亚洲精品bv在线观看| 国产精品亚洲天堂| 秋霞影视一区二区三区| 成人午夜黄色影院| 日韩免费福利视频| 欧美肥老妇视频| 自拍视频在线免费观看| 亚洲国产精品专区久久| 国产精品污视频| 在线观看国产精品网站| 国产成人啪精品午夜在线观看| 亚洲婷婷在线视频| 香蕉网在线播放| 国产成人久久精品77777最新版本| 蜜臀久久99精品久久久酒店新书 | 久久久久久久久免费| 国产成人精品一区二区在线小狼| 日韩精品亚洲一区二区三区免费| 999一区二区三区| 成人激情开心网| 久久久久久久免费| 7m精品国产导航在线| 91精品视频一区| 97精品国产综合久久久动漫日韩 | 亚洲第一会所001| 性欧美xxxx交| 色www永久免费视频首页在线| 色青青草原桃花久久综合| 日本福利片高清在线观看| 精品成人一区二区三区| 国产av无码专区亚洲a∨毛片| 欧美日韩中文精品| 国产成人自拍偷拍| 在线观看亚洲精品| 好吊色在线视频| 欧美午夜电影在线| 精品国产免费观看| 大荫蒂欧美视频另类xxxx| 国产无遮挡又黄又爽| 夜夜揉揉日日人人青青一国产精品| 肉色超薄丝袜脚交69xx图片| 国产女主播视频一区二区| 久久久久久亚洲中文字幕无码| 2022国产精品视频| 波多野结衣 在线| 国产日韩欧美一区二区三区综合| 日本一区二区视频在线播放| 亚洲国产精品激情在线观看| 四虎国产精品成人免费入口| 久久精品欧美一区二区三区不卡 | 99精品视频中文字幕| 亚洲最大视频网| 成a人片亚洲日本久久| 国产chinese中国hdxxxx| 不卡免费追剧大全电视剧网站| 国产 xxxx| 久久中文字幕电影| 高清国产在线观看| 日韩一区中文字幕| 久久久久久久国产精品毛片| 午夜精品123| 日日夜夜狠狠操| 欧美亚洲国产bt| 国产精品无码AV| 亚洲电影免费观看高清完整版在线| 狠狠综合久久av一区二区| 日韩精品电影网| 番号在线播放| 精品中文字幕在线| 欧美私密网站| 国产噜噜噜噜噜久久久久久久久| 国产日韩在线观看视频| 国产精品福利视频| 啪啪亚洲精品| 香蕉视频在线网址| 最新成人av网站| 日韩无套无码精品| 国产一区二区不卡在线| 成人性生活免费看| 国产欧美一区二区在线观看| 人妻少妇精品一区二区三区| 欧美日韩在线看| 91肉色超薄丝袜脚交一区二区| 日韩精品在线一区二区| 三级在线播放| 久久精品一本久久99精品| sm久久捆绑调教精品一区| 国产精品久久久久久超碰 | 欧美日韩国产色站一区二区三区| av免费观看在线| 亚洲另类激情图| gogo在线观看| 日本国产一区二区三区| 国产精品亚洲一区二区在线观看| 蜜桃av久久久亚洲精品| 一区二区在线影院| 99视频免费播放| 处破女av一区二区| 欧美88888| 狠狠躁夜夜躁人人爽天天天天97 | 亚洲成色777777在线观看影院| 九色网友自拍视频手机在线| 久久福利视频导航| 欧美性xxx| 国产伦精品一区二区三区高清版| 日韩视频在线观看| 国产精品沙发午睡系列| 国产伦精品一区二区三区免费迷| 精品国产无码在线观看| 亚洲影院免费观看| 国产尤物视频在线观看| 亚洲视频在线免费看| 97人澡人人添人人爽欧美| 91色精品视频在线| 操欧美老女人| 精品久久久久久无码国产| av一区二区不卡| 久草视频在线资源站| 69p69国产精品| 91精品大全| 国产成人鲁鲁免费视频a| 欧美天堂社区| 人人妻人人澡人人爽欧美一区双 | 青春草在线观看| 国内精品一区二区三区| 91午夜精品| 欧美视频在线第一页| 国产精品一区一区三区| 神马午夜精品91| 欧美男男青年gay1069videost| 超碰免费在线观看| 国产精品va在线播放| 夜夜春成人影院| 国产日产欧美视频| 99视频一区二区三区| 日本中文字幕网| 亚洲韩国青草视频| 国产在线天堂www网在线观看| 国产福利久久精品| 影音先锋久久久| 亚洲啪av永久无码精品放毛片| 有码一区二区三区| 精品国产亚洲av麻豆| 欧美成人激情视频| 日韩视频一二区| 国产一二三区在线播放| 成人午夜看片网址| 欧美一级视频免费观看| 日韩精品极品视频| 性欧美gay| 亚洲一区高清| 国产综合久久久久久鬼色| 手机在线免费看毛片| 日韩欧美精品三级| 国产99re66在线视频| 久久综合色一本| 奇米影视在线99精品| 国产免费美女视频| 日韩三级电影网址| 国产精品原创| 日本一区免费看| 久久99精品国产麻豆婷婷洗澡| 国产女人被狂躁到高潮小说| 精品成人一区二区三区| 亚洲播播91| 国产精品美女在线播放| 国产传媒欧美日韩成人| 日韩黄色三级视频| 亚洲片在线资源| 国产激情精品一区二区三区| 男人天堂a在线| 久久久久久久性| 国产精品女人久久久| 欧美激情免费观看| 国产欧美一区二区精品久久久| 色啦啦av综合| 亚洲成人免费视频| 成人不用播放器| 福利精品视频| 肉肉av福利一精品导航| 蜜臀av午夜精品久久| 亚洲国产成人久久| 成人精品国产亚洲| 日韩久久久久久久久久久久| 久久麻豆一区二区| av网站免费大全| 欧美在线中文字幕| 亚洲先锋影音| 日韩乱码人妻无码中文字幕久久| 91精品国产综合久久久蜜臀图片| 国产在线精彩视频|