最近有個專案首頁採用的是阿里的vlayout開發的,其中有乙個item是橫向滾動的recyclerview,發現有個比較詭異的現象,當頁面來回切換的時候,列表老是會自動滾動到item是橫向recyclerview處。
通過檢視原始碼以及參考網上的分析,原來這就是所謂的recyclerview搶奪焦點現象,進而導致介面自動滾動了。解決方法就是在recyclerview的父布局上增加「 android:focusable=「true」 android:focusableintouchmode=「true」」這2個配置。
<?xml version="1.0" encoding="utf-8"?>
xmlns:android
=""android:orientation
="vertical"
android:layout_width
="match_parent"
android:layout_height
="match_parent"
android:id
="@+id/parent_layout"
android:background
="@color/bg_color"
android:focusable
="true"
android:focusableintouchmode
="true"
>
android:id
="@+id/recycler_view"
android:layout_width
="match_parent"
android:layout_height
="match_parent"
/>
linearlayout
>
解決RecyclerView搶奪焦點
解決recycler的item搶奪焦點的問題 在 recyclerview的直屬父布局新增 android focusable true android focusableintouchmode true 注意是直屬父布局,如下面 展示是給 linearlayout新增,並不是給跟布局relativ...
RecyclerView搶占焦點問題
recyclerview搶占了焦點,自動滾動導致的.recyclerview會在構造方法中呼叫setfocusableintouchmode true 搶占焦點後一定會定位到第一行的位置,第一種方法 可以在nestedscrollview中新增屬性 android focusableintouchm...
recyclerview搶先獲取焦點(隨筆)
recyclerview填充資料後會自動獲取焦點,填充資料後在設定移除焦點,才能有效移除recyclerview的焦點 然後再把焦點設定到其他的view上去,我這邊是兩個view在不同的fragment裡,所以用了eventbus去通知設定焦點 public static final string ...