آموزش InputMethodManager در برنامه نویسی اندروید

سلام دوستان امیدوارم سلامت باشید در این سری از آموزش برنامه نویسی اندروید به آموزش InputMethodManager در برنامه نویسی اندروید می پردازیم از InputMethodManager  به منظور کنترل بروی کیبورد استفاده می شود به طور مثال شما بخواهید آن را در حالت خاصی پنهان (Hidden) و یا نمایان (show)  کنید می توانید از InputMethodManager  استفاده کنید در ادامه با ما همراه باشید تا این آموزش را نیز یاد بگیرید.
 
در برخی مواقع لازم است تا keyborad توسط ما نمایان یا پنهان شود در این حالت می توانید از کدهای زیر استفاده کنید.
برای اینکار ما یک کلاس ایجاد کردیم تا این کار را انجام دهد.
پس یک کلاس به نام KeyboardUtil ایجاد کنید و کدهای زیر را در آن قرار دهید.  کلاس پایین یک کلاس Utility است .

import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
/**
 * Utility methods for manipulating the onscreen keyboard
 */
public class KeyboardUtil {
    /**
     * Hides the soft keyboard
     */
    public static void hideSoftKeyboard(Activity activity) {
        View focusedView = activity.getCurrentFocus();
        if(focusedView != null) {
            InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
            inputMethodManager.hideSoftInputFromWindow(focusedView.getWindowToken(), 0);
        }
    }
    /**
     * Shows the soft keyboard
     */
    public static void showSoftKeyboard(View view) {
        InputMethodManager inputMethodManager = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
        view.requestFocus();
        inputMethodManager.showSoftInput(view, 0);
    }
    // Class is not instantiable
    private KeyboardUtil() {}
}

در بالا سه تا متود داریم یک Constructor خالی داریم و دو متود داریم متود اولی به نام hideSoftKeyboard ایجاد کردیم که  که کار پنهان کردن دکمه را انجام میدهد و کد دوم ما showSoftKeyboard عمل نمایان کردن کیبورد را نمایش میدهد.
برای استفاده از کد بالا ابتدا باید از کلاس یک Instance بسازیم سپس می توانیم به متودهایی که ساختیم دسترسی  پیدا کنیم.

KeyboardUtil keyboardUtil = new KeyboardUtil();

در بالا Instance را از کلاس ساختیم حالا می توانیم مثل زیر به متود هایی که در آن ساختیم دسترسی پیدا کنیم.
برای Show کردن کیبورد مثل زیر

keyboardUtil.showSoftKeyboard();

و  برای hidden کردن آن همانند زیر

keyboardUtil.hideSoftKeyboard();

 
 
این آموزش هم همانند آموزش های قبلی به پایان رسید.
 
موفق و پیروز باشید.

مطالعه بیشتر