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  评论     打赏       波鲁萨利诺.黄猿
    相关问题
    kissmyass · 安卓
    2019-12-11 04:41 713 2
    珂珂范范 · 安卓
    2019-12-19 00:59 559 2
    2020-01-31 00:31 693 2
    谁都不许动我的砖 · 安卓 / xml
    2020-02-05 19:16 1184 2
    谁都不许动我的砖 · 安卓
    2020-02-06 06:24 764 2
    珂珂范范 · 安卓模拟器
    2020-02-21 11:10 842 2
    珂珂范范 · 安卓
    2020-02-29 23:50 429 2
    mercenary · 安卓
    2020-03-22 02:34 358 2
    哦豁! · 安卓报错
    2020-03-22 23:17 684 4
    Pancica · 安卓
    2020-03-23 02:13 520 2
    Pancica · 安卓
    2020-03-30 08:22 452 2
    kuro · 安卓
    2020-04-04 00:17 417 4