【发布时间】:2018-04-11 14:04:45
【问题描述】:
我在 android 中创建了一个 Searchview。我想在搜索图标上保留提示文本,所以我在 xml 中设置为
app:iconifiedByDefault="false"
它解决了我的问题。但是当进入将触发键盘的活动时,它会获得焦点。现在我想在进入活动时保持隐藏。
除了通过EditText创建searchview之外,有没有默认的解决方案?
【问题讨论】:
标签: android searchview
我在 android 中创建了一个 Searchview。我想在搜索图标上保留提示文本,所以我在 xml 中设置为
app:iconifiedByDefault="false"
它解决了我的问题。但是当进入将触发键盘的活动时,它会获得焦点。现在我想在进入活动时保持隐藏。
除了通过EditText创建searchview之外,有没有默认的解决方案?
【问题讨论】:
标签: android searchview
这是预期行为,当View 被创建时,第一个可聚焦 View 获得焦点,但是您可以创建一个虚拟对象来拦截焦点。最简单的解决方案是简单地将其添加到您的layout 的根视图:
android:focusableInTouchMode="true"
android:descendantFocusability="beforeDescendants"
P.S:这些代码行是做什么来使您的 root 布局 focusble 并在它成为 descendants 之前设置 View 的可聚焦性,以便拦截在移至子视图之前关注。
【讨论】: