如何在方向更改后停止 searchView 自动获取焦点
How to stop searchView to getting focus automatically after orientation change
我在工具栏中将 searchItem 扩展为 menuItem,只要方向发生变化,我的问题就会出现,如果我的 searchView 处于展开模式,那么它会自动获得焦点,即使在方向焦点进入另一个视图之前也是如此。
如何防止 searchView 自动获得焦点?
方向改变前:
方向改变后:
Android 将尝试在您的视图层次结构中找到第一个 focus-able 视图并关注它。为避免这种情况,您可以添加一个虚拟视图(例如,使用高度和宽度为 0 的 LinearLayout)来窃取第一个焦点。
<LinearLayout
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px"/>
在你的 recyclerView 上方创建一个虚拟视图,然后在自动旋转后,第一个焦点将被该视图获取,因此搜索视图不会获取焦点,像这样尝试
我在工具栏中将 searchItem 扩展为 menuItem,只要方向发生变化,我的问题就会出现,如果我的 searchView 处于展开模式,那么它会自动获得焦点,即使在方向焦点进入另一个视图之前也是如此。
如何防止 searchView 自动获得焦点?
方向改变前:
方向改变后:
Android 将尝试在您的视图层次结构中找到第一个 focus-able 视图并关注它。为避免这种情况,您可以添加一个虚拟视图(例如,使用高度和宽度为 0 的 LinearLayout)来窃取第一个焦点。
<LinearLayout
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px"/>
在你的 recyclerView 上方创建一个虚拟视图,然后在自动旋转后,第一个焦点将被该视图获取,因此搜索视图不会获取焦点,像这样尝试