1. 程式人生 > >android 監控軟鍵盤確定 搜尋 按鈕並賦予點選事件

android 監控軟鍵盤確定 搜尋 按鈕並賦予點選事件

在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; } }); }

好的!完成!