Android 监听软键盘搜索键-阿里云开发者社区

开发者社区> 无名公子> 正文

Android 监听软键盘搜索键

简介:
+关注继续查看

  现在很多的Android应用都有了数据搜索功能,在以往的设计上,会使用搜索框+搜索按钮来实现搜索功能; 现在呢,越来越流行的是,去除搜索按钮,直接监听软键盘搜索键,当用户输入完搜索关键字后,直接点击软件盘上的“所搜”键,查询要搜索等信息。


  要实现上面的搜索效果,当然,我们要监听软键盘的搜索键。

EditText mEditSearch = (EditText)this.findViewById(R.id.mEditSearch);

mEditSearch.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_UNSPECIFIED) {

                    String keytag = mEditSearch.getText().toString().trim();

                    if (TextUtil.isEmpty(keytag)) {
                        Toast.makeText(PlanSearchActivity.this, "请输入搜索关键字", Toast.LENGTH_SHORT).show();

                        return false;
                    }

					// 搜索功能主体

                    return true;
                }
                return false;
            }
        });


当然,只有这样还不够,还需要设置EdtiText属性:

<EditText
            android:id="@+id/editSearch"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="6dp"
            android:layout_marginBottom="6dp"
            android:background="#FFFFFF"
            android:gravity="center_vertical"
            android:hint="输入关键字"
            android:imeOptions="actionSearch"
            android:paddingBottom="0dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="0dp"
            android:singleLine="true"
            android:textColor="#555555"
            android:textColorHint="#AAAAAA"
            android:textSize="14sp" />

有两个地方需要设置android:imeOptions="actionSearch"及android:singleLine="true";如果不设置这两个属性,你将无法看到搜索键(软键盘默认显示的键是“确定”)。

如此这般,就OK啦!欢迎互相学习!
如有疑问,欢迎进QQ群:487786925( Android研发村 )

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android 软键盘相关
Android2.2的Phone界面会有软键盘弹出! 原因是 mDigits.setKeyListener(DialerKeyListener.getInstance()); mDigits.
446 0
Android官方开发文档Training系列课程中文版:连接无线设备之网络服务搜索功能
原文地址:http://android.xsoftlab.net/training/connect-devices-wirelessly/index.html 引言 Android设备除了可以与服务器建立连接之外,Android无线API还允许处于同一网段下的两台设备建立连接,或者是物理距离相近的两台设备建立连接。
825 0
Android隐藏软键盘
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.
591 0
Android利用Logcat监听应用程序本身被卸载
MainActivity如下: package cc.testremoveapp; import android.os.Bundle; import android.
656 0
Android(安卓) U8800 长按 搜索键、返回键 锁屏或解锁的设置方法
该设置办法适用于所有android手机,当然包括U8800了。   * 首先手机一定要有ROOT权限,关于如何获得ROOT权限,这里就不多说了,一般安装个ROOT的小软件就搞定了。   安装一个R.E管理器(Root Explorer),运行R.
957 0
Android利用广播监听设备安装和卸载应用程序
MainActivity如下: package cn.testappaddandremove; import android.os.Bundle; import android.
802 0
+关注
122
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载