descendantFocusability是View的一个属性。先看字面意思,descendant的英文意思是后代、子孙,focus的意思是焦点。所以容易理解这个属性是viewGroup和其子控件焦点相关的属性。
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
遇到的问题:
1 在weex scroller中嵌套webview,原生提供给weex的布局代码
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:descendantFocusability="blocksDescendants">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>
如果 不设置android:descendantFocusability 属性,会出现奇怪的现象,当第一次打开weex页面,点击webview,或者当webview 在页面内,退到后台或者切换页面再回到这个页面,webview会自动直接顶到页面顶部。