以 DialogFragment为例,在onCreateView 设置,
getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
这里有两个地方注意,如果使用了一些类似FLAG_TRANSLUCENT_STATUS的设置导致状态栏透明或怎么样的,还需要再xml布局文件根标签下添加android:fitsSystemWindows=”true”。 否则的话设置输入法的SOFT_INPUT_ADJUST_RESIZE无效,如果不设置android:fitsSystemWindows=”true” ,那就把第一个参数FLAG_TRANSLUCENT_STATUS的设置那句话去掉。
换句话说,如果你想软键盘不顶上去某些布局,可以反向设置。