色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

Android軟鍵盤(pán)遮擋輸入框?五種實(shí)戰(zhàn)方案全面解析與避坑指南

Android軟鍵盤(pán)遮擋輸入框?五種實(shí)戰(zhàn)方案全面解析與避坑指南 簡(jiǎn)介面向Android開(kāi)發(fā)者的軟鍵盤(pán)遮擋問(wèn)題技術(shù)文檔以PDF形式系統(tǒng)匯總了5種實(shí)用解法覆蓋登錄、注冊(cè)、多輸入表單等典型場(chǎng)景。文檔首先深入解析系統(tǒng)adjustResize與adjustPan的工作機(jī)制結(jié)合非透明狀態(tài)欄、沉浸式狀態(tài)欄、ScrollView嵌套、全屏模式等條件說(shuō)明各自?xún)?yōu)缺點(diǎn)、注意事項(xiàng)與失效情況隨后介紹fitsSystemWindows屬性、自定義View監(jiān)聽(tīng)鍵盤(pán)狀態(tài)動(dòng)態(tài)調(diào)整布局、第三方庫(kù)等方案并針對(duì)多輸入框場(chǎng)景給出上下滑動(dòng)的處理思路每種方法都配有適用場(chǎng)景和坑點(diǎn)提醒便于開(kāi)發(fā)者按需選型。特別是對(duì)全屏或沉浸式狀態(tài)欄下adjustResize失效的原因、fitsSystemWindows的padding覆蓋問(wèn)題都有清晰說(shuō)明。資源為單個(gè)PDF文件包體約1004KB可離線(xiàn)查閱已有2533人學(xué)習(xí)下載適合初、中級(jí)Android開(kāi)發(fā)者在需要優(yōu)化輸入體驗(yàn)時(shí)參考。 搞Android開(kāi)發(fā)的人十個(gè)里得有九個(gè)被軟鍵盤(pán)坑過(guò)。你以為改個(gè)windowSoftInputMode就完事了結(jié)果在不同機(jī)型上跑出來(lái)完全兩種效果有的輸入框被頂上去了有的界面直接變形還有的鍵盤(pán)干脆把整個(gè)布局蓋死提交按鈕怎么也夠不著。這個(gè)問(wèn)題看著小處理不好特別影響體驗(yàn)尤其是登錄、聊天、評(píng)論這類(lèi)強(qiáng)輸入場(chǎng)景用戶(hù)一打字就被擋住第一反應(yīng)就是卸載。這篇文章我把實(shí)際項(xiàng)目中驗(yàn)證過(guò)的五種方法整理出來(lái)了從最基本的windowSoftInputMode配置到ScrollView包裹、底部輸入欄動(dòng)態(tài)補(bǔ)償、沉浸式布局適配再到應(yīng)急用的DecorView強(qiáng)制resize方案每種方法都會(huì)說(shuō)明原理、適用場(chǎng)景、完整步驟和踩坑點(diǎn)。不管你是剛接觸Android沒(méi)多久的新手還是被鍵盤(pán)遮擋問(wèn)題折磨過(guò)的老開(kāi)發(fā)都可以在這篇文章里找到對(duì)應(yīng)的解法。1. 先搞清楚軟鍵盤(pán)遮擋的根本原因別急著搜代碼1.1 鍵盤(pán)彈出本質(zhì)上是一次窗口尺寸變化很多人一遇到鍵盤(pán)遮擋輸入框第一反應(yīng)就是上網(wǎng)復(fù)制一段代碼貼上去結(jié)果要么沒(méi)效果要么引入了新的布局問(wèn)題。我建議你先停下來(lái)想明白一件事軟鍵盤(pán)彈出時(shí)系統(tǒng)到底對(duì)你的Activity做了什么。在Android里鍵盤(pán)彈出導(dǎo)致的界面行為本質(zhì)上是系統(tǒng)在調(diào)整應(yīng)用窗口的可見(jiàn)區(qū)域。當(dāng)windowSoftInputMode配置為adjustResize時(shí)系統(tǒng)會(huì)壓縮Activity的可用高度然后重新觸發(fā)布局當(dāng)配置為adjustPan時(shí)系統(tǒng)不壓縮窗口而是直接平移整個(gè)窗口內(nèi)容把焦點(diǎn)所在控件盡量頂?shù)芥I盤(pán)上方。所以這個(gè)問(wèn)題的本質(zhì)不是鍵盤(pán)擋住了輸入框而是窗口尺寸變了之后你的布局沒(méi)有按照預(yù)期的邏輯重新擺放。你的布局根節(jié)點(diǎn)如果是LinearLayout壓縮后高度變小底部?jī)?nèi)容自然被頂出屏幕如果根布局是ScrollView內(nèi)容是可以滾動(dòng)的輸入框大概率能通過(guò)滾動(dòng)顯現(xiàn)出來(lái)如果你用了adjustPan但界面是復(fù)雜層級(jí)平移效果就會(huì)非常奇怪。1.2 為什么同一個(gè)配置在不同手機(jī)上表現(xiàn)不一樣這是最讓人頭疼的地方。同樣的代碼在原生安卓8上正常在國(guó)產(chǎn)定制系統(tǒng)上就失靈。原因有兩點(diǎn)第一部分國(guó)產(chǎn)ROM對(duì)鍵盤(pán)彈出有自己的窗口管理邏輯系統(tǒng)級(jí)的adjustResize觸發(fā)時(shí)機(jī)不穩(wěn)定甚至個(gè)別系統(tǒng)版本會(huì)忽略應(yīng)用配置的adjustResize標(biāo)記。第二如果你的Activity啟用了WindowTranslucentStatus或WindowTranslucentNavigation這類(lèi)沉浸式窗口特性adjustResize的行為就會(huì)被進(jìn)一步干擾鍵盤(pán)彈出時(shí)系統(tǒng)可能只resize了一部分區(qū)域?qū)е螺斎肟蛞廊槐簧w住。所以我的建議是不要只依賴(lài)系統(tǒng)配置優(yōu)先考慮布局層面的適配。系統(tǒng)配置是基礎(chǔ)布局結(jié)構(gòu)才是決定性的。接下來(lái)每種方法我都會(huì)把這兩個(gè)層面的處理一起來(lái)講。2. 方法一windowSoftInputMode配置——最基礎(chǔ)的手段也最容易用錯(cuò)2.1 adjustResize和adjustPan到底怎么選先說(shuō)結(jié)論如果你的界面是可滾動(dòng)的ScrollView、RecyclerView、NestedScrollView等用adjustResize最合適如果界面是固定布局、沒(méi)有滾動(dòng)容器且只有一個(gè)輸入框在屏幕中上部可以用adjustPan。adjustResize的意思是鍵盤(pán)彈出時(shí)系統(tǒng)把窗口的高度縮小然后重新調(diào)用onMeasure和onLayout。如果你的布局能夠響應(yīng)高度變化比如底部控件設(shè)置了alignParentBottom或者整個(gè)頁(yè)面是ScrollView輸入框就能通過(guò)滾動(dòng)露出來(lái)。adjustPan則不做尺寸壓縮而是直接平移整個(gè)窗口。它的實(shí)現(xiàn)比較粗糙遇到復(fù)雜的相對(duì)布局經(jīng)常把不該頂上去的內(nèi)容也頂上去視覺(jué)上很突兀。我一般建議凡是能不用adjustPan就別用。它適合那些極其簡(jiǎn)單、只有一個(gè)EditText、不需要多控件聯(lián)動(dòng)的頁(yè)面。實(shí)際項(xiàng)目中這種頁(yè)面太少了所以adjustPan更多時(shí)候是備選方案。2.2 配置了沒(méi)效果多半是這幾個(gè)原因你可能會(huì)遇到這種情況明明在AndroidManifest.xml里給Activity配了android:windowSoftInputModeadjustResize結(jié)果鍵盤(pán)一彈輸入框照樣被擋住。第一個(gè)原因是你的Activity對(duì)象是AppCompatActivity而且布局根節(jié)點(diǎn)是CoordinatorLayout或者ConstraintLayout這兩個(gè)容器在某些版本下對(duì)高度變化的傳遞是滯后的尤其當(dāng)你使用了fitsSystemWindowstrue時(shí)系統(tǒng)會(huì)把resize后的高度和狀態(tài)欄高度混在一起算結(jié)果就是布局沒(méi)有按預(yù)期壓縮。第二個(gè)原因是主題配置。如果你在主題里設(shè)置了windowFullscreentrue或者windowNoTitletrue在某些系統(tǒng)版本上adjustResize會(huì)失效。解決方法是不要直接開(kāi)全屏而是用WindowInsets去隱藏狀態(tài)欄。第三個(gè)原因是很多開(kāi)發(fā)者喜歡在onCreate里對(duì)根布局動(dòng)態(tài)做高度賦值比如ViewGroup.LayoutParams.MATCH_PARENT。這個(gè)操作沒(méi)問(wèn)題但如果你在鍵盤(pán)彈出后又手動(dòng)修改了布局高度就會(huì)和系統(tǒng)的resize形成競(jìng)爭(zhēng)最終行為不可預(yù)測(cè)。!-- AndroidManifest.xml 中的Activity配置示例 -- activity android:name.MainActivity android:windowSoftInputModeadjustResize /如果你確認(rèn)了這三個(gè)問(wèn)題都不存在adjustResize還是沒(méi)效果那直接跳到方法三用手動(dòng)監(jiān)聽(tīng)鍵盤(pán)高度去補(bǔ)償那是最穩(wěn)的。3. 方法二用ScrollView/NestedScrollView包一層讓輸入框自己滾上來(lái)3.1 核心思想可滾動(dòng)容器天然適應(yīng)鍵盤(pán)如果你的頁(yè)面不是聊天那種底部固定輸入欄而是表單、發(fā)布頁(yè)這類(lèi)內(nèi)容式布局我的建議是直接把根布局換成ScrollView或NestedScrollView配合adjustResize。原理不復(fù)雜窗口高度被鍵盤(pán)壓縮后ScrollView的內(nèi)容高度依然大于可視高度它就會(huì)變成可滾動(dòng)狀態(tài)。用戶(hù)點(diǎn)擊輸入框時(shí)輸入框會(huì)自動(dòng)滾動(dòng)到可見(jiàn)區(qū)域而且系統(tǒng)還會(huì)自動(dòng)把你焦點(diǎn)所在的位置滾動(dòng)到鍵盤(pán)上方體驗(yàn)非常自然。實(shí)際項(xiàng)目里我更推薦NestedScrollView而不是老舊的ScrollView原因是它能更好地配合AppBarLayout、RecyclerView這些現(xiàn)代組件做嵌套滾動(dòng)而且對(duì)adjustResize的高度變化響應(yīng)更及時(shí)。!-- NestedScrollView包裹表單布局的典型結(jié)構(gòu) -- androidx.core.widget.NestedScrollView android:layout_widthmatch_parent android:layout_heightmatch_parent android:fillViewporttrue LinearLayout android:layout_widthmatch_parent android:layout_heightwrap_content android:orientationvertical !-- 一堆輸入控件 -- EditText ... / Button ... / /LinearLayout /androidx.core.widget.NestedScrollViewfillViewport這個(gè)屬性要記住設(shè)成true否則當(dāng)布局內(nèi)容高度小于屏幕高度時(shí)NestedScrollView里的子布局只有wrap_content高度底部會(huì)露出一片空白或者背景色。3.2 實(shí)操中的坑焦點(diǎn)滾動(dòng)不完全用ScrollView方案時(shí)有一個(gè)很典型的坑鍵盤(pán)彈出后輸入框確實(shí)滾上來(lái)了但滾動(dòng)位置不對(duì)輸入框只露了一半另一半還是被鍵盤(pán)遮住。這個(gè)問(wèn)題的根因是焦點(diǎn)滾動(dòng)發(fā)生在窗口resize之前。你可以給輸入框設(shè)置android:scrollbarStyle或者在代碼里做一次延遲滾動(dòng)editText.setOnFocusChangeListener((v, hasFocus) - { if (hasFocus) { v.postDelayed(() - { Rect rect new Rect(); editText.getWindowVisibleDisplayFrame(rect); int[] location new int[2]; editText.getLocationInWindow(location); int bottom location[1] editText.getHeight(); int visibleBottom rect.bottom; if (bottom visibleBottom) { scrollView.smoothScrollBy(0, bottom - visibleBottom 20); } }, 200); } });本質(zhì)上就是等鍵盤(pán)完全彈出后再手動(dòng)計(jì)算輸入框底部和可視區(qū)域的差距做一次scrollBy覆蓋系統(tǒng)的滾動(dòng)。這里還有一個(gè)隱藏細(xì)節(jié)getLocationInWindow獲取的是相對(duì)窗口的坐標(biāo)不是相對(duì)屏幕的。如果Activity本身處于分屏或者懸浮窗狀態(tài)坐標(biāo)會(huì)有偏差但你用getWindowVisibleDisplayFrame去算可視區(qū)域就不會(huì)差太多。我的實(shí)際經(jīng)驗(yàn)是NestedScrollView方案對(duì)大多數(shù)內(nèi)容式頁(yè)面已經(jīng)夠用。但如果你用的是RecyclerView作為根布局還需要額外處理在RecyclerView外部包一層NestedScrollView并設(shè)置RecyclerView.setNestedScrollingEnabled(false)否則在鍵盤(pán)彈出時(shí)RecyclerView內(nèi)部滾動(dòng)會(huì)和外層NestedScrollView搶滾動(dòng)事件體驗(yàn)很割裂。4. 方法三底部輸入欄專(zhuān)項(xiàng)處理——聊天、評(píng)論場(chǎng)景的正確姿勢(shì)4.1 為什么底部固定輸入框用adjustPan會(huì)翻車(chē)如果你的頁(yè)面是聊天、評(píng)論區(qū)、直播彈幕那種底部固定輸入欄上面是一堆列表內(nèi)容這時(shí)候用adjustPan極其痛苦——鍵盤(pán)一彈整個(gè)頁(yè)面被平移頂部?jī)?nèi)容劃過(guò)屏幕底部輸入欄雖然可能被頂上來(lái)但列表和輸入欄的視覺(jué)關(guān)系完全錯(cuò)位。這種情況的標(biāo)準(zhǔn)解法是adjustResize 動(dòng)態(tài)監(jiān)聽(tīng)鍵盤(pán)高度 給底部容器設(shè)置paddingBottom。4.2 用OnGlobalLayoutListener監(jiān)聽(tīng)鍵盤(pán)高度我的做法是在onCreate里給根布局注冊(cè)一個(gè)ViewTreeObserver.OnGlobalLayoutListener每次布局變化時(shí)判斷鍵盤(pán)是否彈出并記錄鍵盤(pán)高度。private boolean isKeyboardVisible; private int keyboardHeight; private ViewTreeObserver.OnGlobalLayoutListener globalLayoutListener new ViewTreeObserver.OnGlobalLayoutListener() { Override public void onGlobalLayout() { Rect r new Rect(); rootView.getWindowVisibleDisplayFrame(r); int screenHeight rootView.getRootView().getHeight(); int heightDiff screenHeight - r.bottom; if (heightDiff dp2px(100)) { // 鍵盤(pán)彈出 if (!isKeyboardVisible) { isKeyboardVisible true; keyboardHeight heightDiff; applyKeyboardHeight(true); } } else { // 鍵盤(pán)收起 if (isKeyboardVisible) { isKeyboardVisible false; keyboardHeight 0; applyKeyboardHeight(false); } } } };100dp這個(gè)閾值要注意有些手機(jī)底部有手勢(shì)導(dǎo)航條靜止?fàn)顟B(tài)下的heightDiff也可能有幾十像素閾值太小了會(huì)誤判。這也是我在多個(gè)機(jī)型上踩完坑調(diào)試出來(lái)的經(jīng)驗(yàn)值。4.3 paddingBottom補(bǔ)償法的完整代碼拿到鍵盤(pán)高度后直接給底部輸入欄容器設(shè)置paddingBottom輸入欄就會(huì)“懸浮”在鍵盤(pán)上方。private void applyKeyboardHeight(boolean show) { ViewGroup.MarginLayoutParams params (ViewGroup.MarginLayoutParams) bottomBar.getLayoutParams(); if (show) { params.bottomMargin keyboardHeight; } else { params.bottomMargin 0; } bottomBar.setLayoutParams(params); }你可能會(huì)問(wèn)為什么不用layoutParams.height加到輸入欄原有高度上而要用paddingBottom因?yàn)楹芏噍斎霗谑怯斜尘吧闹苯痈母叨葧?huì)把背景拉得很長(zhǎng)看著不協(xié)調(diào)。paddingBottom改的是內(nèi)容區(qū)高度背景區(qū)域跟著整體變大但輸入按鈕、EditText這些子控件的排版不會(huì)變視覺(jué)上只是輸入欄整體被頂高了一截正好等于鍵盤(pán)高度觀感是最好的。另外如果你的輸入欄本身有背景圓角或者陰影加paddingBottom之后背景會(huì)覆蓋鍵盤(pán)頂部區(qū)域這其實(shí)是想要的視覺(jué)效果輸入欄和鍵盤(pán)連成一片更貼近iOS樣式。但如果你的鍵盤(pán)是深色模式背景色不匹配視覺(jué)上會(huì)形成一條明顯的分界色帶這種情況可以考慮給鍵盤(pán)頂部加一條和輸入欄背景同色的線(xiàn)。還有一個(gè)細(xì)節(jié)需要緩存keyboardHeight如果每次布局變化都重新計(jì)算并設(shè)置會(huì)造成界面抖動(dòng)視覺(jué)效果很差。5. 方法四沉浸式布局下的軟鍵盤(pán)問(wèn)題——fitsSystemWindows的坑與解法5.1 沉浸式布局為什么讓鍵盤(pán)問(wèn)題更嚴(yán)重現(xiàn)在的應(yīng)用基本都會(huì)做沉浸式就是讓內(nèi)容延伸到狀態(tài)欄和導(dǎo)航欄下方整體更美觀。但沉浸式布局和軟鍵盤(pán)簡(jiǎn)直是天敵組合。正常模式下系統(tǒng)給窗口的可用區(qū)域已經(jīng)扣除狀態(tài)欄和導(dǎo)航欄adjustResize壓縮時(shí)計(jì)算相對(duì)正確。一旦啟用沉浸式窗口本身就延伸到狀態(tài)欄后面adjustResize的計(jì)算起點(diǎn)變了再加上fitsSystemWindows在不同父容器上的行為不一致結(jié)果就是鍵盤(pán)彈出后輸入框被頂?shù)搅艘粋€(gè)預(yù)料之外的位置。我自己遇到過(guò)最典型的情況用CoordinatorLayout作為根布局設(shè)置了fitsSystemWindowstrue鍵盤(pán)彈起后界面上方多了一塊黑色區(qū)域下方輸入框照樣被蓋住排查了很久才發(fā)現(xiàn)是系統(tǒng)狀態(tài)欄和resize邏輯在打架。5.2 一個(gè)通用的鍵盤(pán)監(jiān)聽(tīng)工具類(lèi)遇到這種情況我建議拋開(kāi)系統(tǒng)resize邏輯直接用代碼做全局補(bǔ)償。你可以把監(jiān)聽(tīng)器掛到DecorView上因?yàn)镈ecorView是整個(gè)窗口的根節(jié)點(diǎn)它收到的布局變化是最準(zhǔn)確的。public class KeyBoardHeightHelper { private final View mRootView; private final OnKeyBoardVisibledListener mListener; private boolean mIsKeyBoardVisible; public KeyBoardHeightHelper(View rootView, OnKeyBoardVisibledListener listener) { this.mRootView rootView; this.mListener listener; mRootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { Override public void onGlobalLayout() { checkKeyBoardState(); } }); } private void checkKeyBoardState() { Rect rect new Rect(); mRootView.getWindowVisibleDisplayFrame(rect); int visibleHeight rect.height(); // 假設(shè)鍵盤(pán)收起時(shí)可視高度接近根視圖高度 if (visibleHeight mRootView.getHeight() - dp2px(100)) { if (!mIsKeyBoardVisible) { mIsKeyBoardVisible true; int keyboardHeight mRootView.getHeight() - visibleHeight - getNavBarHeight(); mListener.onKeyBoardVisibled(keyboardHeight); } } else { if (mIsKeyBoardVisible) { mIsKeyBoardVisible false; mListener.onKeyBoardDismiss(); } } } }這套邏輯在沉浸式布局下依然穩(wěn)定因?yàn)樗灰蕾?lài)系統(tǒng)是否觸發(fā)resize而是直接監(jiān)聽(tīng)可視區(qū)域的高度變化。拿到高度后你可以動(dòng)態(tài)給底部菜單、發(fā)送按鈕區(qū)域設(shè)置bottomMargin或者給整個(gè)內(nèi)容區(qū)的paddingBottom加高。5.3 別忘了導(dǎo)航欄高度沉浸式布局里還有一個(gè)容易被忽視的點(diǎn)windowVisibleDisplayFrame的可視區(qū)域高度已經(jīng)避開(kāi)了導(dǎo)航欄。如果用戶(hù)在手機(jī)啟用了手勢(shì)導(dǎo)航底部還會(huì)有一塊手勢(shì)條區(qū)域。你的鍵盤(pán)高度如果直接用rootView.getHeight() - visibleHeight去算會(huì)把導(dǎo)航欄高度也包含進(jìn)去導(dǎo)致輸入欄被頂?shù)锰叩撞柯冻鲆粭l背景。最好在計(jì)算鍵盤(pán)高度時(shí)減掉導(dǎo)航欄高度。先判斷是否存在導(dǎo)航欄再獲取高度然后注冊(cè)一個(gè)OnApplyWindowInsetsListener去動(dòng)態(tài)獲取。這個(gè)思路說(shuō)起來(lái)簡(jiǎn)單但很多項(xiàng)目是在這上面翻過(guò)車(chē)的。6. 方法五應(yīng)急用的DecorView強(qiáng)制resize方案6.1 什么時(shí)候需要用這個(gè)方案有些頁(yè)面實(shí)在太頑固以上方法都試過(guò)之后還有問(wèn)題。比如頁(yè)面里混合了WebView、第三方SDK的彈窗、或者多個(gè)EditText在不同層級(jí)adjustResize完全失效鍵盤(pán)高度監(jiān)聽(tīng)又因?yàn)槟承㏒DK內(nèi)部也修改了窗口布局導(dǎo)致沖突。這時(shí)候我建議用終極方案直接監(jiān)聽(tīng)鍵盤(pán)彈出手動(dòng)修改根布局高度。6.2 這個(gè)方法的核心思路這個(gè)方法的核心不是改layoutParams而是自己模擬一次窗口resize。具體做法是監(jiān)聽(tīng)鍵盤(pán)高度然后把根布局高度強(qiáng)制設(shè)置成“原始高度 - 鍵盤(pán)高度”。// 先在onCreate時(shí)記錄原始高度 private int mRootHeight -1; private void applyRootHeight(boolean isShow, int keyboardHeight) { if (mRootHeight -1) { mRootHeight rootView.getHeight(); } ViewGroup.LayoutParams params rootView.getLayoutParams(); if (isShow) { params.height mRootHeight - keyboardHeight; } else { params.height ViewGroup.LayoutParams.MATCH_PARENT; } rootView.setLayoutParams(params); }注意rootView最好不要是DecorView本身而是你布局文件里的最外層容器。對(duì)DecorView動(dòng)手風(fēng)險(xiǎn)比較高而且很多系統(tǒng)彈窗的邏輯也會(huì)關(guān)聯(lián)到它。6.3 一個(gè)必須避開(kāi)的坑死循環(huán)強(qiáng)制設(shè)置高度是有副作用的你改了高度會(huì)再次觸發(fā)onGlobalLayout然后又進(jìn)入監(jiān)聽(tīng)回調(diào)再改高度形成死循環(huán)。解決思路是加一個(gè)防抖標(biāo)記private boolean isResizing; Override public void onGlobalLayout() { if (isResizing) return; Rect rect new Rect(); rootView.getWindowVisibleDisplayFrame(rect); int visibleHeight rect.height(); if (visibleHeight screenHeight - dp2px(100)) { if (!isKeyBoardShow) { isKeyBoardShow true; isResizing true; applyRootHeight(true, screenHeight - visibleHeight); rootView.post(() - isResizing false); } } else { if (isKeyBoardShow) { isKeyBoardShow false; isResizing true; applyRootHeight(false, 0); rootView.post(() - isResizing false); } } }用post延遲重置標(biāo)志位這樣既能在重置后接受新的狀態(tài)變化又不會(huì)在同一次布局循環(huán)里反復(fù)觸發(fā)高度修改。這個(gè)方案是最后手段有很明顯的局限性你在onCreate里記錄的mRootHeight如果在Activity重建、旋轉(zhuǎn)、多窗口切換時(shí)不在onCreate里重新獲取高度就是錯(cuò)的。所以這些場(chǎng)景下務(wù)必在onResume里重新賦值。7. 五種方法怎么選一個(gè)實(shí)戰(zhàn)向的對(duì)比與建議7.1 適用場(chǎng)景對(duì)比表格方法核心原理最佳使用場(chǎng)景風(fēng)險(xiǎn)點(diǎn)windowSoftInputMode系統(tǒng)級(jí)resize/pan簡(jiǎn)單頁(yè)面、系統(tǒng)樣式的表單頁(yè)碎片化環(huán)境下容易失效ScrollView包裹滾動(dòng)容器適應(yīng)高度長(zhǎng)表單、發(fā)布頁(yè)、設(shè)置頁(yè)滾動(dòng)關(guān)聯(lián)復(fù)雜時(shí)有滾動(dòng)沖突OnGlobalLayoutListener paddingBottom監(jiān)聽(tīng)鍵盤(pán)高度手動(dòng)補(bǔ)償聊天、評(píng)論、底部輸入欄鍵盤(pán)高度計(jì)算要排除導(dǎo)航欄fitsSystemWindows 手動(dòng)補(bǔ)償繞過(guò)系統(tǒng)resize直接處理沉浸式、全屏布局坑多歷史包袱重DecorView強(qiáng)制resize手動(dòng)模擬系統(tǒng)resize混合復(fù)雜布局的應(yīng)急方案容易死循環(huán)要加防抖7.2 我自己項(xiàng)目里的選擇習(xí)慣我做新項(xiàng)目的時(shí)候有個(gè)固定套路能滾動(dòng)的頁(yè)面優(yōu)先用ScrollView方案底部固定輸入欄用OnGlobalLayoutListener監(jiān)聽(tīng)方案沉浸式布局干脆兩個(gè)一起上——最外層監(jiān)聽(tīng)鍵盤(pán)高度 整個(gè)內(nèi)容區(qū)做padding補(bǔ)償。windowSoftInputMode這個(gè)配置我甚至很少改因?yàn)樗淮_定性太強(qiáng)。有一次我在一個(gè)頁(yè)面上把a(bǔ)djustResize改成adjustNothing鍵盤(pán)彈出后輸入框被擋住了但因?yàn)槲矣帽O(jiān)聽(tīng)器做了padding反而界面沒(méi)有任何變化鍵盤(pán)彈收都很自然那之后我越來(lái)越傾向于把布局主動(dòng)權(quán)掌握在自己手里。另外補(bǔ)充一個(gè)很多人不知道的點(diǎn)監(jiān)聽(tīng)鍵盤(pán)高度的時(shí)候如果你在onResume里注冊(cè)監(jiān)聽(tīng)、onPause里銷(xiāo)毀鍵盤(pán)彈出動(dòng)畫(huà)期間觸發(fā)的是中間態(tài)高度會(huì)有一次明顯跳動(dòng)。我后來(lái)都把監(jiān)聽(tīng)放在onCreate里一直掛著直到Activity銷(xiāo)毀才移除中間態(tài)高度雖然也有但因?yàn)殒I盤(pán)彈出很快用戶(hù)肉眼幾乎感知不到。7.3 最后排查鍵盤(pán)問(wèn)題的通用步驟如果你現(xiàn)在手上正好在排查這類(lèi)問(wèn)題我提供一個(gè)通用排查順序確認(rèn)Activity的windowSoftInputMode配置優(yōu)先adjustResize。檢查根布局結(jié)構(gòu)盡量使用可滾動(dòng)容器或通過(guò)padding方式補(bǔ)償。檢查是否有沉浸式標(biāo)記或第三方SDK修改了窗口屬性。用adb shell dumpsys window查看當(dāng)前窗口是否有softInputMode和resize相關(guān)的異常信息。真機(jī)多機(jī)型測(cè)試不要只在模擬器上驗(yàn)證國(guó)產(chǎn)ROM的差異超出你想象。我在實(shí)際開(kāi)發(fā)中還有一個(gè)習(xí)慣就是鍵盤(pán)相關(guān)的邏輯盡量收斂到一個(gè)工具類(lèi)里不要散落在各個(gè)Activity的onGlobalLayout回調(diào)中。工具類(lèi)會(huì)在內(nèi)部處理高度緩存、防抖、生命周期自動(dòng)注銷(xiāo)這種定式比每次臨時(shí)寫(xiě)一遍要穩(wěn)得多也更容易復(fù)用。最后想說(shuō)的是軟鍵盤(pán)問(wèn)題沒(méi)有一個(gè)代碼模板能覆蓋所有場(chǎng)景。真正有用的是理解了鍵盤(pán)彈出和窗口布局的關(guān)系再根據(jù)你頁(yè)面的具體結(jié)構(gòu)去選對(duì)應(yīng)的姿勢(shì)。用對(duì)一次就能在后續(xù)項(xiàng)目里少踩很多坑。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天美传媒国产原创中文字幕亚洲欧美另类 | 五月天激情婷婷| 亚洲情色一区二区三区| WWW啪啪的com| 视频一区二区免费在线| 国产精品午夜精品| 亚洲性图91| 久久黄色网址| 一级免费啪啪片| 国产欧美日本亚洲精品| 久热伊人| 免费黄色片。| 午夜精品视频777| 久草电影网| 操美女人妻| 中文字幕在线观看丝袜| 国产性爱乱伦AV| 日本免费亚洲欧美| 欧美精品久久久久久久丰满| 屁股久久久久久久久久| 超碰在线日韩一区| 天天操妹子| 国产一区二区在线看| 99久热精品99re6热| 亚洲丝袜二区| 在线只有精品| 欧美一级三级| 99超碰色| 日韩影片中文字幕一区二区三区| 亚洲天堂另类美腿| 亚洲老熟妇xxx| 大地资源在线观看中文第二页| 天天懆天天日| 色综合天天| 久久直播国产| 中文字幕性感少妇av| 国产精品久久久久久久黄无码| 国产亚洲精品农村妇女| 亚洲欧洲综合av在线| 97人人夜夜精品视频| A级在线视频| 两女互慰AV高潮喷水在线观看| 中文字幕日韩专区精品系列 | 婷婷色综合| 国产精品熟女丝袜一区二区| www.色婷婷色综合| 成人精品在线| 色眯眯射| 午夜视频久久久| 蜜桃臀一区二区三区久久| 成年人免费观看网站| 国产夫妻性生活视频| 亚洲精品97p| 国产一区二区在线看| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 人妻喷水| 97亚洲在线| 久9九综合在线| 蜜臀视频网站| 久久精品国产亚洲AV无码做| 91精品久久久久久77777| 精品久热| 操九九九九九九| 欧美亚洲美少妇一区二区| 欧美激色| 九九九热| 爱媛媛久久国产福利| 五月激情综合网| 伦理第一页| 亚洲高清91| 国产精品不卡一区二区三区av| 人人操我人人干| 日韩人妻 中文字幕| 国内毛片免费h片在线| 日本人体九九九九九九| 一本一首道人妻少妇免费久久| 91精品少妇搡搡搡| 韩国一级婬片A片无码天美| 中文字幕精品一区二区精| av资源在线播放天堂| 亚洲情色第一页| 亚洲精品黑丝| 91香蕉国产尤物视频| 亚洲成人一区二区精品| 女人天堂AV五区在线| 香港日本韩国人妇99www.wccm20| 亚洲丝袜在线观看| 激情网色| 淫色网综合| 另类老少妇| 午夜乱轮操逼视频免费看| 99色天堂| 操淫穴亚洲五月丁香| 一本色道久久综合精品婷婷| 最新的亚洲无吗| 亚洲精品91| 久久久久亚洲AV无码专区少妇| 亚洲中文字幕网| 欧美一级专区免费大片| 成人自拍三级在线观看| 色一射色一射| 午夜爽爽爽| 亚洲暴力强奸AV| 蜜臀色乳| 搡老女人911熟妇老熟女| 激情AV| 色妇91| 老子午夜伦不卡影院| 国产九月婷婷| 国产精品久久久久久久久久久久| 人人考人人摸人人干| 欧美91在线+|+欧美| 欧美日韩大香蕉| 色婷久久| 日产精品久久久一区二区| blacked精品一区国产| 国产成自自拍在线观看| 欧美性爱中文字幕无线码| 九九九久千久久激情蜜桃在线看 | 国产AV毛片| 精品176精品2| 日韩欧美一级特黄大片| 免费一级精品啪啪视频| 欧美日韩国产人人| 午夜福利在线合集| 91久久精品美女高潮喷水| 国产小视频91| 大色网久久| 丁香六月啪| 最新AV在线| 亚州国产精品乱| 91丰满| 99色色网| 久久久97| 国产精品丝袜在线| 男女打扑克高清网站| 97中文字幕九区| 天天色粽合合合合合合合| 亚洲黑人在线| 美骚妇av高清在线| 成人网站 免费观看| 91美女視頻| 欧美99热| 国产精品高清2021在线| 天天操天天7| 国产亚州精品美女久久久免费| 99国内熟女露脸视频| 欧美成人黄网色网站| 国产精品色| 日韩人妻资源在线看| 久久久9999| 久久69| 美骚妇av高清在线| 日韩av一级黄片| 美女爽到高潮91| 国产这里只有精品| 久久伊人亚洲AV无码网站| 熟妇激情| 97国产色综合| 日本一级二级三级网站| 偷拍 欧美 日韩| 欧美72网页| 日本99热| 日韩欧美tv一区二区在线观看| 日日爽熟女| 超碰调教97| 亚洲av综合色区无码一| 美女久久久久久久久久久| 日欧美色| 乱精品一区字幕二区| 日本1区2区不卡视频| 大香蕉性欧美| 99热 按摩 日韩| 高清无码网址| 亚洲成a人片在线观看中文!!!| 国内一级精品| 欧美激情在线观看视频| 国产丰满熟夫69mpp| 91色婷婷综合久久中文字幕二区| 成人网欧美风情| AV无码久久久精品| 成人av在线播放| 97日韩超碰超碰中文字幕| 久久日本熟妇熟色高清| 超碰97资源中文字幕| 欧美日本国产日韩激情视频| 手机看片日韩人妻| aaa亚无码专区| 国产精品不卡少妇白| 岛国不卡超碰护士AV在线播放| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲综人网| 亚洲自拍欧美国产首页网曝| 天天淫人人妻日日色| 色婷婷小说| 成人乱码一区二区三少妇| 亚洲欧美高清无码| 久久国产在线一区二区| 免费岛国一级片| 91 综合网| 999色欧美中文字幕| 色眯眯av| 综合五月天| 国产外初女出血视频| 欧美夜色| 色网在线| 学生妹天天看| 欧美韩国你懂得在线| 91精片| 91亚洲综合在线| 国内毛片四区| 干少妇视频| 97免费视频在线| 三四中文字幕| 婷婷久月| 日韩 国产 欧美自拍| 超碰97人人cao| 熟女激情综合网| 翔田千里AⅤHD无码| 91P0RNY大屁股人妻| 日本爽爽爽爽爽爽免费视频| 五十路六十路七十路熟婆| 欧美欧美啪啪视频| 一本精品日本在线视频精品| 手机在线A片| 黄aaaaaaaaaaaaaaaaaa色网站 | 丝袜视频网国产90| 九久精品| 精品亚洲成人免费在线| 中国一级操逼视频| 无码免费精品高清| 99色在线| 性欧美天天| 偷拍在线观看视频| 日本一二三免费久久| 日本1区2区不卡视频| 国产熟女二区| 狠狠躁天天躁日日躁| 蜜臀久久精品久久久久视频| 97色涩| WWW美腿丝袜香蕉中文| 99热日| 在线视频资源| 丁香五六月啪啪| 亚洲中文日韩欧美大香蕉视频| 五月天黄色激情视频| 久久久久久国产精品| 东北黄色电影| 久久午夜神马| 国产又粗又长又爽又色| 国内精品999| 超碰在线97国产| 欧美se综合| 成人线上超碰| 人人插人人摸人人| 久久久久ab| 91日韩网站| 久久69精品久久久久久久| 激情综合网五月婷婷五月天| 亚洲影视综合网| 大香蕉综合在线| 一区二区三区高清| 插穴性爱视频在线观看| 无码99| 亚洲熟妇白浆无码AV| 情色日播放AV| 亚洲狠狠入| 一起草欧美| 屌逼传媒| 91制服丝袜| 日操粉逼逼| 久九干| 亚洲玖玖爱| 亚洲婷婷丁香在线| 欧美日韩中文视频播放| 97精品久久久久中文字幕| 国产成人bd在线观看| 亚洲资源吧| 激情综合网激情五月天| 精品人妻一区二区蜜桃视频| 色婷五月| 乱伦一二三区| 欧美成人精品一区二区男人蜜臀| 国产91av在线播放| 国产精品91一样| 97在线观看免费| A V视频日本| 日韩传媒在线| 国产成人无码a| 伊色综合天堂色97| 美欧色综合| 欧美日韩第一页| 欧美亚洲宗合色性图| 无码不卡八戒| 久久久久久中文版| 国产精品无码久久久久2028| 亚洲熟女乱熟乱熟妇综合网二区| 综合影院永久入口国产| 狠狠躁AV| 乱伦熟女专区| 久久仑合| 在线中文字幕极品av| 中文字幕诱惑制服人妻丝袜美丝袜美| 岛国片在线视频网站| 久久9亚洲| 伊人五月天婷婷| 国产一区二区三区不卡手机在线| www.亚洲黄色| 欧美日韩亚洲天堂网| 日本一区二区三区免费观看| 夜夜騷av、一區二區| 国产真乱mangent| 少妇专区一二三四五| 2017人人操,人人摸| 久久久久ab| 丝袜视频网国产90| 五月激情在线| 日日超碰亚洲| 性欧美91| 天天澡天天爽日日AV| 蜜桃久久一区二区三区| 少妇久久久久久| 嗯嗯嗯不要不要免费视频| 黄色成人网久久久久久| 狠狠亚洲| 婷婷99| 国产精品人妻无码久久久老鸭窝| 伦在线97| 91 刺激在线| 久久精品熟女亚洲AV麻豆软件| 在线97在线| 久久国内| 日韩福利综合一区| 久久久国产护士丝袜美腿一| 乱日视频| 日亚韩精品视频二区三| 色与欲影视| 四季AV一区二区凹凸精品小说| 一区二区三区欧美激情| 少妇久久久久久久| 日韩色图 一区二区| 欧美在线视频99| av在线观看不卡网站| 青青草一区二区高清无码视频| 久久久工口| 日韩AV一起草| 丰满人妻无码一区二区三区| 国产精品懂色tv影视免费观看| 丝袜美腿射精91| 欧美极品少妇交| 美国一区二区三区视频| 亚洲精品久久久久毛片A片拉屎 | 久久男人精品| 草久在线| 久久精品中文字幕女同| 欧美天天谢综合网| 免费观看有码高清视频| 国模少妇一区二区三区| 午夜福利一区二区影院| 性天堂| 97操综合| 久久久久久久六六| 亚洲宗合电影| 99re6久热只有精品6在线直播| 男女真人网18| 爱av免费| 色嗨嗨在线| 91搞逼视频| 精品黄色电影| 亚州性色| 精品国产99999| 久草精品一区| 好舒服视频| 一区二区首页| 久热精品色情| 欧美亚洲第1页| 人妻久热在线| 久九九九九九九热| 极品尤物自安慰| 黄片com.| 天天做天天爱天天爽AV| 三级片大波波| 99热97| 久久,精品一二三| 九九碰九九爱97| 日韩人妻中文视频| 麻豆啪啪啪视频| 色欲日韩欧美在线一区| 在线国产一区二区av| 国产女人高潮嗷嗷嗷叫小说| JIZZJIZZ国产精品喷水| 亚洲欧美一区二区三区一猛片| 欧美色性爱| 奇米狠999| 日韩欧美中文日韩欧美色| 金莲网址| 丁香五月天激情网站| 亚洲精品美女久久久久久久久| 中文字幕精品区先锋资源| 日韩中文字幕视频在线观看| 亚洲图片偷拍视频区| 香蕉综合网| www.97在线| 日韩国产十八禁| 亚洲欧美国产中文字幕| 天堂精品| 99热在线观看| 99久久精品无码一区二区| 日本精品第一视频在'| 亚洲国产欧美中文永久| 深夜啪啪啪视频免费| 成人AV素股で擦久久| 日本999精品视频| 九九九九九九九九九五码| 国产精品一级二级在线| 日韩综合97p| 91色色网站| 草草网站影院白丝内射| www.色五月| 美女高潮视频91| 日日干夜夜欢| 日本精品五区| 亚洲精品影视老司机| 自偷自拍的亚洲视频| 九九九网页| 1024手机看片欧美日韩| 亚州性9| 性色av大全| 国产精品秘 福利姬在线观看| 91 亚洲 欧洲| 加勒比av中文| 日本一级真人黄色性爱视频| 午夜爽爽爽在线观看永久入口姬片| 99热网站| 久久久精品久久| 婷婷综合伊人一区| 一区二区三区欧美激情| 天天碰操中国年青熟妇| 9久久久久久| 免费无码国产精品v片在线观看| 两性综合网| 亚州再线| 天天激清| 欧美黄页在线| 欧美人妻一区二区| 欧美强奸乱能| 久久色一区二区| 久久精品久久久久久久| 99热只有这里有精品| 一区二区三区成人 | 国产又黄又爽又刺激久久久久久| 床上啊啊啊一区二区三区| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 色色色色日本| 人妻美腿丝袜制服诱惑综合天堂-| AV女资源| 影音先锋中文字幕日本好一区二区| 91大神电影天堂| 日本熟妇人妻一区二区三区| 乳欲人妻办公室奶水| 欧美一区二区日韩传媒搭讪精品| 啊啊啊啊好疼| 激情视频网址| 欧美热图99| 一区三区啪啪| 91天美免费| 性色av婷婷久久一区二区点复制| 91爱欧美| 人妻熟女字幕一区二区| 日夜精品| 精品免费一区二区三区在线亚洲人成| 精品亚洲天堂| 蜜桃久久一区二区三区| 亚洲欧美人妻| 成人综合网 欧美| 92性色国产午夜福利在线661 | 综合色欧美| 六月丁香久久| 大香蕉中文| 欧美乱色| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 欧美十八禁导航成人| 丰满精品人妻少妇久久字幕| 日本在线不卡v二区| 岛国片在线观看视频亚洲| 久久久久78| 国产一区二区在线播放量| 九一亚洲国产免费| 强奸乱伦 亚洲一区| 国产精品九9| 国产偷拍网站| 97干天天| 最新国产亚洲精品精品国产亚洲综合| 欧美色图在线视频少妇| 干婷婷综合网| 人人妻人人爽一区二区三区| 殴美,日韩国产伦精品| 欧美天天综合网| 熟妇无码视频三区| 啪啪综合网| 亲子敌伦对白在线播放| 日日噜噜夜夜久久亚洲一区二区 | 欧美不卡在线美女| 国产日韩区| 天天超级碰碰碰| julia高潮后不停追击中出| 草草草草视频| 一区,二区,三区视频| 午夜久久无码1000合集| 97亚洲中文| 强奸乱伦大香蕉网| 亚洲欧洲综合av在线| 可以免费看黄片的视频| 四虎免费视频| 青青草原综合久久大伊人精品| av无线看| 偷拍精品一区二区三区| 熟妇一区,二区,三区。| 熟女中出视频| 中文高清一区二区的| 欧美日韩国第一区| 乱老女人一区二区视频| 久久狠狠色噜噜狠狠狠狠97| 亚洲宗合网| 国产农村妇女一区二区| 近亲乱伦一区二区| 色婷婷色99国产综合精品| 色妇综合网| 亚洲欧美精品久| 亚洲天堂中文字幕无码男同| 性开放中文AV高清无码免费看| 欧美日综合| 天天舔九色婷婷| 尹人大香蕉视频在线| 亚洲?V无码专区在线电影| 色噜噜人妻av中文字幕| 91爰爱欧美| 激情综合五| 精品人妻av在线播放| 97视频在线播放| 精品妇操一区二区三区| 国产农村妇女精品一二区| 婷婷丁香六月| 少妇xx精品| 97综合激情| 成人开心网在线视频| 亚洲精品97中文字幕| 日韩成人午夜精品久久高潮| 性色乱AV一区二区| 久久久艹艹艹| www鬼畜国产男人的天堂| 一起草av| 伊人91| 国产女生在线| 亚洲超碰AV| 亚洲人妻中文高清| 国产高清在线观看欧美| 日韩性爱人人爱人人操| 操逼www.| 亚洲成人一区二区精品| 嫩草影院性色| 另类专区在线观看| 99在线精品视频| AV九九| 久久婷色| 久操综合在线| 欧美精品在线观看| 九九英色视频| 清清草影| 亚洲精品久久一区二区三区蜜桃臀| 亚洲男人的天堂在线看| 一区二区三区成人| 天堂精品| 97超碰9| 久热一区二区| 免费的黄片有限公司| 亚洲无码国产精品久久| 精品久久久久久中文| 国产操偷| 亚洲综合在线视频| 久久精品免费| 97超碰久久色| 91欧美www| 啊啊啊啊网站| 99热99在线播放激情| 人、人、摸,人、人、草| 超碰AV在线| 长长久久曰曰夜夜成人网| 亚洲最大黄网| 中文一区二区| 人妻一区二区三区熟女| 在线综合 亚洲 欧美中文字幕| 天天摸夜夜添无码小视频| 免费A V在线| 亚洲一二三精品久久网 | 97在线视频网站| 12一15性XXXX粉嫩国产| 强奸乱伦av电影| 欧美夜夜狠| 久久综合av| 天天澡天天爽日日AV| 国产av又色又爽又黄| 99热免费| 91精品又粗又猛又爽| 亚洲精品久久久久久久蜜桃臀| 老熟女乱子伦中文字幕一区二区| 五月花婷婷| 久久99草| 91看黄片| 97天天摸天天碰| 一级黄碟| 亚洲激情在线观看一区| 伊人97超碰| 超碰97人人乐| 一区操逼日比视频| 观看视频图片一区二区三区| 深喉吞精| 自拍偷拍2025在线观看| 丰满精品人妻少妇久久字幕| 男女一进一出视频久久| 五月天久久久| 欧美高清在线| 乱论91| AV老汉| 亚洲人久久久久日| 久久精品色欧美aⅴ一区二区| 人妻天天爽夜夜爽精品2| 国产91丝袜 在线播放| 99久久久er直播网址| juliaann精品熟女一区| 午夜精品久久99蜜桃的功能章节| 亚洲AV永久无码一区仙野| 国产乱人妻精品入口| 一区二区三区美女超清| 一区二区久久天天干狠狠| 国产97色在线| 91久操| 欧美少妇高潮| 极品极品色影院| 熟女91网| 色在线69堂| 影音先锋每日最新资源在线观看| JULIA人妻风俗店中出电影| 麻豆 美女 丝袜 人妻 中文| 综合色久| 97在线免费视频观看| www.zbzhongsen.com| 国产真实子伦对白| 中日韩久久久| 日韩中文字幕在线视频观看| 伊人久操| 蜜乳性色无码专日粉嫩骚逼AV| 思思热免费在线视频| 97在线观视频免费观看| 久久黄色视频一区二区三区| 国产夜夜操| 午夜啪| 麻豆国产原创AV色哟哟| 成人一二| 久久精品亚洲东京热色播| 国产高清成人免费视频| 日韩美脚一区二区网站| 欧美日韩大香蕉| 综合 青草 伊久久 影院 综合| 九九九九免费| 白丝少妇一区二区| 欧美aa一级片| 亚洲、日韩、综合、另类| 久久丝袜| 色综合婷婷| 日韩久射综合| 女优免费一区二区永久| 国产精品免费久久久久久久久久| 欧美色66| 久草视频观看视频在线| 一本色道久久综合亚洲二区三区| 性爱精品一区| 加勒比海色香蕉婷婷| 韩国轻伦国内自拍一区| 2019天天干| 九九九九免费高| 日本一区二区成人在线| 97爱爱爱| 青青草玖玖爱| 99少妇精品视频| 亚欧视频在线| 91天堂网| 亚洲综合射| 中文字幕大片三级狠狠干| 自拍偷拍国产欧美日韩韩| 999 久久久| 婷婷尹人大香蕉免费| 中文字幕一区二区免费在线| 91狠狠狠| 性性久久| 天天操av懂色| 久久一区二区三区入口| 熟女激情综合网| 成全在线观看免费观看| 亚洲精品成人激情在线| 91粉嫩萝控精品福利网站_精品影音先锋国 | 亚洲一二三四区在线免费看视频| 青青伊人加勒比海| 99999精品| 伊人久久88国产女| 韩日欧亚a级| 久久天堂婷婷网| 我爱操| 日韩性爱小视频| 99精品网站| 亚洲av无码成人精品国产| 91啪啪| 高清不卡 中文 人妻| 97资源制服丝袜| 370p日韩欧美亚洲精品| 神马麻豆福利院| 国产第11页| 五月天激情网图片| 乱伦av.com| 综合网 欧美| 人人妻天天做天天爽| 99热综合在线| 日韩另类| 少妇无码av专区线| 熟妇综合一区二区三区| 免费99精品国产自在在线| 日韩成人高清一区二区| daxiangjiao你懂的| 天天看天天日天天操| 强奸熟女一区二区三区| 久久嫩草国产成人一区| 午夜性刺激视频免费观看| 夜夜草我| 性色A∨91| 一区二区不卡免费| 人妻 欧美 中文| 精品精品精品| 午夜高清成人在线视频| 国产99精品一区二区三区免费| 在线色资源| 欧美少妇性乱| 欧洲亚洲人妻无码中字久久三区四区| 久久综合婷婷| 久久久久九九九九| 色噜噜国产精品视频一区二区| 成人欧美日超碰| 亚洲综合小视频小说在线观看 | 综合免费无码中文| 国产无码三级视频在线观看| 亚洲色图欧美一区二区不卡| 欧美宗合网| 97天天日| 欧美色狠| 少妇啪啪自拍| 人人看人人爰人人操| 少妇高潮特黄A片| 伦伦成年午夜免费视频| 國產尤物AV尤物在線觀看| 国产成人欧美一区二区三区的国产| 亚洲中文一区二区三区| 亚洲日本成人动漫| 午夜欧美女人操逼| 美国日韩黄色片| 九九精品热| 色噜噜狠狠色综无码久久合欧美| 日本曲间由美性生活片| 极品白嫩福利在线| 西西美女视频网| 午夜综合在线| 东京热,男人的天堂| 久久久久99精品成人片蜜臀| 国产欧美在线观看免费观看| 操b在线观看| 欧美黑人精品一区二区| 国模精品一区二区三区苹果色戒| 久久超碰久| 一区二区三区国产精产| 91久久久久久久| 99热婷婷一区二区三| 国产JDAV无码视频在线观看| 国内偷自视频区视频综合| 欧美性爱伊人| 免费看毛片操穴| 超碰中文字幕人妻草一区| 性九九九九九九| 91狠狠综| 欧美性爱日韩性爱| 久久超碰久| 亚洲色图超碰在线| 精吧天堂| 熟女熟妇一区二区三四区| 91丝袜| 亚洲人妻中文在线视频| 国语av最新自产拍在线观看| 超碰日本97美女人妻人人玩人人爱| www.高清无码诱惑一区.com | 久久久久久久久久精| suv精产一二三区| 被操高清无码视频| 任你爽视频| 一区二区三区无卡视频在线观看| 天天日夜干| 岛国网址国产| 亚洲aw毛茸茸在线| 色偷偷2020免费视频播放| 不卡中文字幕aⅴ在线| 3p国产欧美99热| 91天天爱| 免费试看60秒| 久久99综合| 久久久久久久久久久久久久久久9| 先锋女优在线观看视频| 大香蕉乱级| 免费视频a级毛片免费视频| 国产农村妇女精品一| 久久久999国产| 亚洲AV性爱电影| 亚洲国产精品久久久久婷婷青年| 青青草五月份天| 青青免费在线视频一区| 欧美少妇大量自拍视频在线观看| 99久久9| 操逼天美3区| 欧洲乱码视频| 人妻夜夜爽天天爽三区麻豆AV网站| 丰满人妻一区二区三区大胸懂色| 青娱乐蜜桃臀AV色婷| 亚洲无线观看久久| 日本午夜久久电影| 91美女视频电影| 人妻一区视频| 亚洲超碰综合网| 91久久免费视频互動交流| 欧美久久婷| 天堂综合| 5278欧美一区二区三区| 熟女91网| 成人免费福利在线观看| 亚洲青青草| 日韩精品碰碰| 操逼短片| 啪一啪免费视频| 九九人妻| 99久久精品无码一区二区| 欧美在线综合| av一区二区三区 中文| 日本高清加勒比| 777奇米影视777四色| 97热视频在线观看| 亚洲aV无码成人在线观看| 蜜乳Av成人片网站| 看免费的黄片| 中文字幕乱碼在线| 999久久久免费精品国产牛牛| 国产精品久久发布| 日韩无码视频黄色| 神马午夜久久久| 操逼天美3区| 九九九久久久久| 97国产高清视频在线观看| 大屁股熟女一区二区三区| 日本女人操逼| 日本女人久久久| 国产AV天美| 欧美顶级黄色大片免费| 91熟女视频网| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 欧美一级二级三级| 99999精品成人| 日本黄大片在线观看视频| 九九九九精品一区| 亚洲成人性爱在线观看| 国产深喉视频一区二区| 大香蕉伊人色偷偷在线| 国产一级高清免费观看| 天天色怡春院| 国产树林里野战在线看| 97超碰日韩| www.四虎在线| 日韩欧美亚洲一区二区三区影院| 九久久九九久视频| 麻豆AV96熟妇人妻| 色情五月丁香| 翔田千里A片一区二区| 精品久久艹| www.狠狠| 黄色一区二区秘书性感| 亚洲精品蜜桃久久久| 天天弄欧美| 国内毛片无码一级毛片| 成人免费性爱视视| 中文字幕一二三av| 男人亚洲91首页在线| 午夜理论片在线观看免费| 亚洲精品少妇| 青久久| 91新在线欧美| 大香蕉啪啪网| 国产精品黄色三级av| 国产97视频| 麻豆区久久久久亚| 黄色高清久久无码依人| 亚洲熟女中文字幕在线| 啪啪视频亚洲第一| 亚洲欧美伦综合| 欧美综合狠| 欧洲射精91| 校园春色综合| 99热啪啪| 午夜男人av| 91被操| 九九九成人| 东北女人操比视频| 青青草精品| 日韩人妻无码专区| 啪啪视频亚洲第一| 粉嫩av平台| 精品无码少妇| 蜜臀网址在线| 97香焦色区| 天天插天天干| 九九久久综合| 久久五月天婷婷丁香中文字幕| 国产自制av蜜乳| 97久操| 国内毛片四区| 97超碰精品图片| 日本黄色XXX| 天天操美美| 婷婷另类小说| 中文字幕人妻色偷偷久久皮| 嗯嗯啊啊用力视频免费| 欧美日韩性感| 极品丝袜无码| www.色五月| 日日日日日| 无码少妇精品一区二区60岁老人| 在线A日本| av午夜影院在线播放| 久久精品国产亚洲AV高级北京| 亞洲久久直播| 久久直播国产| 久久婷婷综合国际产色怕| 国产美女高潮叫床视频| 18禁网站在线播放| 亚洲精品中文字幕一区在线视频 | 日韩三级av片| 麻豆精品.欧美精品.日韩精品.| 99最新日韩偷拍视频| 超碰这里有精品| 欧美中日韩XXXX| 欧美色图99| 日韩97P| 国产精品日日摸夜夜添骚逼| 视频国产欧美在线播放| 一本色道久久天天射天天干| 视频国产欧美在线播放| 操逼大黄片| 亚洲欧美在线观看免费| 日韩欧美亚洲一区二区三区影院 | 蜜桃网熟妇| 超碰99re| 狠狠干91| av一区二区三区四区| 丝袜熟女一区二区三区| 深夜激情无码| 国产精品一区人妻精品阁在线| 性爱动态120秒| 久久神马影院| 99热线麻豆| 成人一二三区| 国产黄色在线播放观看| 日韩无码三级影院| 日韩人妻 中文字幕| 综合熟女| 肥臀熟女福利视频一区二区| 欧美 亚洲 综合 制服 另类| 懂色Av一区二区三区| 操一操摸一摸| 秋霞蝌科网日本一区| 五月天开心网| 久草综合视频| 丰满人妻-区二区三区免费看| 国产熟女精品一区二区| 亚洲制服aⅴ中文字幕| 开心五月深爱五月| 国产自产91区13区| 97超碰影音| 试看日韩黄片| 国产成人自拍视频在线| 亚洲日本韩国极品一区二区| 97福利视频| 刺激性视频黄页| julia中文字幕在线观看| 97美日韩视频| 男插女青青影院| 大地资源在线观看中文第二页| 91在线美女| 九九九九九九九九九九精品视频| 国产97视频| 国产精品蜜乳AV| 国产精品青青草| 噜噜瑟| 亚洲色婷婷久久91| 91九色精品熟女内射| 亚洲91网站| 日韩情色一区二区| 欧美亚洲日本激情在线| 四虎884a| 91精品网站| 中文字幕性感少妇av| 摸奶性爱视频网站在线免费播放| 久热影视| 啪啪视频mP4| 国产熟码AV| 亚洲成人av电影在线| 国产男人又猛又粗又爽| 97中文字幕色| 欧美性爱第1 页| 狠狠激情综合狠狠操中文字幕| 国产AV人人 夜夜人人澡| 亚洲欧美天堂| 8050无码八戒| 欧美日韩另类字幕中文| 日韩激情毛片一级久久久| 激情99| 97资源站日韩| 亚洲天堂一区二区久久| 久久天天躁日日躁狠狠躁| 成人精品无码| www五月| 丰满人妻-区二区三区免费看 | 天天综合日韩网| 78m啪啪啪| 在线免费观看日韩一区| 精品一区二区三区四区女| 91看黄片| 久久9久9久99久9久9| 极品销魂美女一区二区 | 欧美黑人XXXⅩ高潮交| 91n处女在线观看| 黄色视频特级毛片| 久久久久久99999国产精品| 强奸乱伦日韩AV| 麻豆天美在线喷水AV| 国产精品久久99日日| 色在线69堂| 色天使亚洲综合在线观看| 91强在线播放| 另类小色呦| 亚州国产成人精品女人久久| 国产a级午夜毛片| 日韩精品三级| 99色天堂| 夜夜骑夜夜操| 美欧老女人97| 天天色黄色影院天天操| 黑人精品久久97| 天天草天天干天天日| 免费av在线播放二区| 草b在线 | 97国产人人| 青青草在线视频人人想人人上 | 色爽爽文学| 一级婬片120分钟试看| 亚洲色图欧美色图制服丝袜| 99国产在线 精品 视频| 人妻无码一区二区三区久久99| 福利视频一区二区微拍| aV中文麻| a男人的天堂| 国产强奸乱伦xd| 老司机福利社视频在线观看| julia高潮后不停追击中出| 91性情| 亚洲av热热色| 中文字幕性感少妇av| 国产精选视频| 午夜精品久久久99| 图片区小说区| 国产又粗又长又大的视频| 精品射1999| 成人三级片无码| 色综合天天爱去电影网| 久超超碰| 久久大香蕉| 青娱乐福利99| 伊人久大| 5252色欧美在线| 国产视频一区二区三区在线免费观看| 久久9999| 第二页中文字幕| 国产综合在线视频网站| 亚洲黄色电影| 欧美乱妇狂野欧美在线视频| 伊人91| 欧美性生活男人的天堂| 亚洲色诱惑| 日韩性爱免费观看视频| 蜜区区视频79 | 人妻熟女一区二区三区视频| 亚洲 se图 欧美电影| 强奸乱伦Av网| 亚洲人成网站7777| 九九精品网| 2019天天操天天爽天天拍| 啪啪啪综合网| 日韩欧美tv一区二区在线观看| 欧美啪啪啪91| 佐山爱中文字幕| 亚洲国产尤物yw在线观看| 日韩天天综合| 亚洲天堂资源| 黄色十八禁网站| 日本高清电影欧美色图| 97欧美性爱| 涩综合导航| aa片毛片| 一二三四区电影| 久草精品一区| 神马久久久久久久久久久久| 乱老女人一区二区视频| 国产一区二区在线播放量| 96久久久久久久| 亚州男人的天堂| 99青草| 91狠狠色丁香婷婷综合久久精品| 韩国免费播放一级毛片| 欧洲色综合| 亚洲综合伊人| 不卡一区视频| 久久m| 91大神电影天堂| 操九九九九九九| 亚洲 欧美都市激情| 午夜爽爽爽在线观看永久入口姬片| 日韩电影在线观看网址| 综合网亚洲| 99中文字幕| 五月天伊人网| 深夜国产福利| 久久岛国| 十八禁电影伊人网| 美美91成人国产精品欧美精品久久久久久久 | 91在线美女| 男人天堂.AB| 成人资源中文字幕在线观看天天 | 精品人妻中文字幕高清| 91欧美经典| 校园春色五月天| 一区二区中文| 欧美岛国精品在线观看| 91内射| 91啦人妻| 日韩免费大片一级播放| 日韩精品人妻| 内射夫妻三片| 日韩黄片视频试看| 乱伦av麻豆| 多乙久久久久久|