package com.dute.dutenews.utils; import android.app.Activity; import android.content.Context; import android.view.View; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; public class ToolWindow { /** * 設置添加屏幕的背景透明度 * * */ public static void setBackgroundAlpha(Activity context, float bgAlpha) { WindowManager.LayoutParams lp = context.getWindow().getAttributes(); lp.alpha = bgAlpha; // 0.0-1.0 context.getWindow().setAttributes(lp); } /* * 隱藏軟鍵盤 */ public static void hideSoftInputFromWindow(Context context, View view) { // 1.獲得InputMethodManager對象 InputMethodManager imm = (InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); // 2.調用hideSoftInputFromWindow方法隱藏軟鍵盤 imm.hideSoftInputFromWindow(view.getWindowToken(), 0); // 強制隱藏鍵盤 } /** * 顯示軟鍵盤 * * @param context * @param view */ public static void showSoftInput(Context context, View view) { // 1.獲得InputMethodManager對象 InputMethodManager imm = (InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); // 2.調用showSoftInput方法顯示軟鍵盤,其中view爲聚焦的view組件 imm.showSoftInput(view, InputMethodManager.SHOW_FORCED); } /** * 實現切換顯示軟鍵盤的功能 * * @param context * @param view */ public static void toggleSoftInput(Context context) { // 1.獲得InputMethodManager對象 InputMethodManager imm = (InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); // 2.實現切換顯示軟鍵盤的功能 imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } /** * 若返回true,則表示輸入法打開 * */ public static boolean isActive(Context context) { // 1.獲得InputMethodManager對象 InputMethodManager imm = (InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE); return imm.isActive(); } /** * 根據手機的分辨率從 dp 的單位 轉成爲 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) ((dpValue * scale) + 0.5f); } /** * 根據手機的分辨率從 px(像素) 的單位 轉成爲 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) ((pxValue / scale) + 0.5f); } }