1
  • 最佳答案

    这个问题可以这样搞,进入页面之后,把焦点设置给一个view,比如你的页面中一个父布局,又或者一个tv都行,进入页面获取到控件之后,执行下面的代码。


    v.setFocusable(true);
    v.setFocusableInTouchMode(true);
    v.requestFocus();
    


    让一个普通的组件主动拿到焦点了,搜索的组件就不会请求焦点,弹出键盘了。

    1139423796017500160  评论     打赏       断点
    • 断点  回复 @断点
      至于后面的优化交互,键盘显示的时候,点击非键盘区域,隐藏键盘,可以这样处理,方法不唯一。布局方面,你可以在你的布局最上层设置一个全屏的,没颜色的view,比如帧布局,给这个view设置点击事件,点击事件响应逻辑:隐藏自己gone,且关闭键盘。 键盘的显示逻辑:监听到键盘显示情况,就显示透明的全屏的view,设置visible,监听键盘关闭,如果键盘关闭了,你需要把全屏透明view也设置gone。
      断点 2022-09-19 09:24   回复 1139423796017500160
  • android:focusable="true" android:focusableInTouchMode="true" 在search view的xml中添加这两个代码试试
    1302969105866940416  评论     打赏       波鲁萨利诺.黄猿
    相关问题
    2024-05-06 17:25 5 10
    2024-05-06 15:52 6 10
    幻影~ · 安卓
    2024-04-26 19:25 12 4
    deanhu · AOSP
    2024-04-25 21:53 3 10
    幻影~ · 提问
    2024-04-13 20:13 13 2
    幻影~ · 找工作
    2024-04-07 10:44 18 2
    幻影~ · 问题
    2024-03-31 17:20 7 2
    TONYGFX · AOSP
    2024-03-28 17:11 4 2