1. 程式人生 > >ScrollerView 中RecyclerView上部有View時,View被頂出螢幕

ScrollerView 中RecyclerView上部有View時,View被頂出螢幕

<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:descendantFocusability="blocksDescendants"
 android:orientation="vertical">

只寫一行:

Android:descendantFocusability="blocksDescendants"

就可以解決RecyclerView搶焦點,把它上面的控制元件頂飛的bug了。

關於android:descendantFocusability,下面寫點擴充套件知識。

Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.
Must be one of the following constant values.
該屬性是當一個為view獲取焦點時,定義viewGroup和其子控制元件兩者之間的關係。

屬性的值有三種:

    beforeDescendants:viewgroup會優先其子類控制元件而獲取到焦點

    afterDescendants:viewgroup只有當其子類控制元件不需要獲取焦點時才獲取焦點

    blocksDescendants
:viewgroup會覆蓋子類控制元件而直接獲得焦點

本來我以為beforeDescendants也可以起作用,可事實證明我還是太天真了,只能用block,block的意思是阻止。