一、Dialog
PickPicDialog中
设置了flags属性
WindowManager.LayoutParams params = window.getAttributes(); params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE ; params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.WRAP_CONTENT; window.setAttributes(params);神奇的事情:
AlertDialog弹出,没有蒙层, 点击空白Dialog不会消失, Activity其他位置可以正常;
参考:http://blog.csdn.net/tankai19880619/article/details/42558427
二、输入法InputMethod
参考:http://blog.csdn.net/ztp800201/article/details/16117301
可以监听输入法显示/隐藏的RelativeLayout自定义控件; 未测试, 需要设置为界面xml的根布局;
参考:http://snowcoal.com/article/641.html
isActive其实无效, 一直都是true;
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.isActive()//isActive()若返回true,则表示输入法打开
隐藏输入法: 第一个参数的对象是一个EditText就行;
imm.hideSoftInputFromWindow(mEtTxtTips.getWindowToken(), 0);
EditText获取焦点 并 打开输入法的方法:
mEtTxtTips.setEnabled(true); mEtTxtTips.requestFocusFromTouch(); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
三、EditText
EditText始终不弹软件键盘:
edit.setInputType(InputType.TYPE_NULL);
设置最大文本长度:
xml设置:
android:maxLength="16"
代码设置:
mEtTxtTips.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});//设置最大文本长度
四、Activity , Window
1.调用requestWindowFeature(Window.FEATURE_NO_TITLE); 之后还是出现ActionBar, 可以检查ActionBar然后隐藏掉;
if (getSupportActionBar() != null){ getSupportActionBar().hide(); }