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);
}
}
05-08 08:43