android 监控软键盘确定 搜索 按钮并赋予点击事件

来源:互联网 发布:数据挖掘导论百度云 编辑:程序博客网 时间:2024/06/03 21:16
在android的实践开发中,为了界面的美观,往往那些搜索框并没有带搜索按钮,而是调用了软键盘的搜索按钮,完成这次时间

这里写图片描述
这里写图片描述

好吧!直接上代码!

<EditText        android:id="@+id/my_chat_seach"        android:layout_width="fill_parent"        android:layout_height="23dp"        android:layout_centerVertical="true"        android:layout_marginRight="6dip"        android:layout_toRightOf="@id/my_seach_item_1_button"        android:background="@color/white"        android:gravity="center_vertical"        android:hint="@string/search"        android:imeOptions="actionSearch"        android:singleLine="true"        android:textColor="#8e8787"        android:textSize="13sp" />

xml配置文件中 最重要的一个属性是: android:imeOptions=”actionSearch”,从而调用软键盘时,回车键就会显示搜索二字。
同时在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode=”adjustPan”,可以防止软键盘会把原来的界面挤上去的问题。
那么在该activity中,如何操作呢?

seachEditText = (EditText) findViewById(R.id.my_chat_seach);watchSearch();

然后

/**     * @方法说明:监控软键盘的的搜索按钮     * @方法名称:watchSearch     * @返回值:void     */    public void watchSearch() {        seachEditText.setOnEditorActionListener(new OnEditorActionListener() {            @Override            public boolean onEditorAction(TextView v, int actionId,                    KeyEvent event) {                if (actionId == EditorInfo.IME_ACTION_SEARCH) {                    // 先隐藏键盘                    ((InputMethodManager) seachEditText.getContext()                            .getSystemService(Context.INPUT_METHOD_SERVICE))                            .hideSoftInputFromWindow(ChatFriendsGroudSeach.this                                    .getCurrentFocus().getWindowToken(),                                    InputMethodManager.HIDE_NOT_ALWAYS);                    // 搜索,进行自己要的操作...                    seachList(viewIndex);//这里是我要做的操作!                    return true;                }                return false;            }        });    }

好的!完成!

1 0
原创粉丝点击