webview 以頭佈局的形式添加到 RecyclerView 中,第一次進入頁面,當頁面中有 EditText 而且點擊時,甚至是相似點贊更換圖片、點擊 WebView 任意區域,都會形成 WebView 自動滑動到最頂部;html
分析:個人 WebView 在 onPageFinish() 的時候進行從新測量了高度,因此點擊事件等極可能是 WebView 獲取焦點從新繪製了,故而想到不讓WebView獲取焦點,嘗試過使用android
android:focusable="true" android:focusableInTouchMode="true
上述代碼只能解決 WebView 區域之外的點擊形成的WebView滑動至頂部問題,第一次進入 WebView 時點擊依然會形成 WebView 滾動;最後想到了 code android:descendantFocusability="blocksDescendants",貌似完美解決web
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:descendantFocusability="blocksDescendants"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
descendantFocusability 屬性說明:佈局
beforeDescendants:viewgroup會優先其子類控件而獲取到焦點 afterDescendants:viewgroup只有當其子類控件不須要獲取焦點時才獲取焦點 blocksDescendants:viewgroup會覆蓋子類控件而直接得到焦點
Android 5.0 + 部分手機上 WebView 加載 GIF圖時 會形成 WebView 不停的閃爍code
解決方法查看個人另外一篇文章:WebView 5.0+閃爍以及白屏問題完美解決xml