标签:
最近在做一个项目,大部分页面由fragment实现,需要发帖功能,在界面上部分为EditText,右下有一个发送按钮,下面总结一下遇到的问题:
没有进行软键盘弹出和EditText获取焦点配置时,跳转到发帖页面,EditText自动获取焦点,软键盘弹出,但偶而出现弹出的软键盘覆盖发送按钮的情况
解决方法是通过设置manifest文件中activity属性如下,确保软键盘弹出时为挤压上面显示,而不是覆盖
<activity
android:name=".ui.activity.MainActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" >
参考https://developer.android.com/training/keyboard-input/visibility.html,实现在需要时候让指定EditView获取焦点,并弹出软键盘
public void showSoftKeyboard(View view) {
if (view.requestFocus()) {
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
}
}
注意该函数调用不可在fragment生命周期过前,否则无法生效,试了下放在OnStart中可以,OnCreateView中不行
标签:
原文地址:http://www.cnblogs.com/letusrock/p/4453225.html