public class KeyBoardUtils {
//设置可以获取焦点但不弹出软键盘
public static void disableShowInput(EditText et) {
Class<EditText> cls = EditText.class;
Method method;
try {
//setShowSoftInputOnFocus方法是EditText从TextView继承来的的
// 可以用来设置当EditText获得焦点时软键盘是否可见
method = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(et, false);
} catch (Exception e) {
}
}
//获取当前获取焦点的edittext
public static EditText getFocusedEdittext(Activity context) {
View view = context.getWindow().getDecorView().findFocus();
if (view != null && view instanceof EditText) {
return (EditText) view;
}
return null;
}
//为当前输入框添加数据
public static void addEditText(EditText et, String content) {
int index = et.getSelectionStart();
Editable editable = et.getText();
editable.insert(index, content);
}
//为当前输入框删除数据
public static void deleteEditText(EditText et) {
if (et.getText().toString().length() == 0 || et.getSelectionStart() == 0) return;
int index = et.getSelectionStart();
Editable editable = et.getText();
editable.delete(index - 1, index);
}
/**
* 显示键盘
*
* @param et 输入焦点
*/
public static void showInput(Context context, final EditText et) {
et.requestFocus();
InputMethodManager imm = (InputMethodManager) context.getSystemService(INPUT_METHOD_SERVICE);
imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
}
/**
* 隐藏键盘
*/
public static void hideInput(Activity context) {
View view = context.getWindow().peekDecorView();
if (view != null) {
// 隐藏虚拟键盘
InputMethodManager inputmanger = (InputMethodManager) context
.getSystemService(context.INPUT_METHOD_SERVICE);
inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
/**
* 隐藏软键盘(可用于Activity,Fragment)
*/
public static void hideSoftKeyboard(Context context, List<View> viewList) {
if (viewList == null) return;
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Activity.INPUT_METHOD_SERVICE);
for (View v : viewList) {
inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
//隐藏SystemUI
public static void hideNavigation(Context context) {
int flags;
int curApiVersion = android.os.Build.VERSION.SDK_INT;
if (curApiVersion >= Build.VERSION_CODES.KITKAT) {
flags = View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
} else {
flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
}
((Activity) context).getWindow().getDecorView().setSystemUiVisibility(flags);
}
}
public class FileUtils {
/**
* 得到sdcard的路径
*
* 返回一个字符串数组 下标0:内置sdcard 下标1:外置sdcard
*/
public static String[] getSDCardPath() {
String[] sdCardPath = new String[2];
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
sdCardPath[1] = Environment.getExternalStorageDirectory().getAbsolutePath();
}else{
sdCardPath[0] = Environment.getDataDirectory().getAbsolutePath();
}
return sdCardPath;
}
}