1. 概述
有時(shí)候在我們開發(fā)過程中钦购,在使用 RecyclerView加載多種類型布局的時(shí)候翻翩,比如有:搜索框都许、BannerView、GridView嫂冻、TabLayout胶征、列表數(shù)據(jù)、固定的文字布局桨仿,可能會(huì)出現(xiàn) RecyclerView搶先獲取焦點(diǎn)問題睛低,剛打開界面時(shí)直接顯示 RecyclerView的列表數(shù)據(jù),而不是正常的先顯示 最上邊的搜索框服傍、BannerView钱雷、GridView、TabLayout等吹零。
如下圖所示:第一張是正常顯示的罩抗,但是有時(shí)候剛進(jìn)入界面時(shí)會(huì)直接顯示最下邊的列表數(shù)據(jù),而把列表上邊的布局直接頂上去了瘪校,這個(gè)就是 rv搶先獲取焦點(diǎn)問題澄暮;
第一張:
圖片.png
第二張:
圖片.png
對(duì)于這種問題解決方案很簡(jiǎn)單名段,只需要在 rv 加載多種布局的 第一個(gè)布局的根布局中添加
android:focusable="true"
android:focusableInTouchMode="true"
添加這兩個(gè)屬性就可以阱扬。
我項(xiàng)目中的第一個(gè)item是 BannerView泣懊,就直接在 BannerView的根布局中添加這兩個(gè)屬性就可以。