Android 使软键盘的回车按钮变成搜索按钮

未经本人授权,不得转载!否则必将维权到底

一个很常见的需求:点击搜索框 EditText 弹出软键盘,软键盘的回车功能需要变成搜索。记录一下,以后可以直接 Ctrl +C/V

修改前.png

#准备工作
不知各位平时玩 App 的时候有没有注意到「 软键盘 」的右下角的图标会随着功能的不同而发生变化。点击不同的编辑框,输入法软键盘右下角会有不同的图标。

  • 点击浏览器网址栏的时候,输入法软键盘右下角会变成「 Go 」或「 前往 」
  • 点击 EditText 搜索框,输入法软键盘右下角会变成 「 放大镜图标 」 或者「 搜索 」
    ######使图标的变换的参数就是 EditText 中的 Android:imeOptions 属性
    android:imeOptions 的值有 actionGo、actionSend 、actionSearch、actionDone 等,这些属性都是见名知意的,根据字面意思理解就行!

#代码实现

            <EditText
                android:id="@+id/keithxiaoySearchEdt"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weig
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android中,当软键盘弹出时,按钮通常会被遮挡,如果希望让按钮随着软键盘向上移动,可以通过以下步骤实现: 1. 首先,在你的布局文件中,将整个布局包裹在一个ScrollView中,以便能够上下滚动内容。 2. 在AndroidManifest.xml文件中,找到对应Activity的节点,并添加属性:android:windowSoftInputMode="adjustResize"。这会使得在软键盘弹出时,布局会随之调整以适应软键盘。 3. 在Java代码中,为按钮所在的父布局设置一个监听器,用于监听软键盘的显示和隐藏事件。 ``` View rootView = findViewById(R.id.root_layout); rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); rootView.getWindowVisibleDisplayFrame(r); int screenHeight = rootView.getRootView().getHeight(); int keypadHeight = screenHeight - r.bottom; if (keypadHeight > screenHeight * 0.15) { // 如果软键盘的高度超过屏幕高度的15%,即软键盘显示状态 // 移动按钮,使其显示在软键盘的上方 button.setVisibility(View.VISIBLE); } else { // 如果软键盘的高度小于15%,即软键盘隐藏状态 // 恢复按钮原来的位置 button.setVisibility(View.GONE); } } }); ``` 通过以上步骤,当软键盘弹出时,按钮所在的布局会向上移动,确保按钮不被软键盘遮挡。当软键盘隐藏时,按钮会恢复到原来的位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值