标签:
最近在做一个项目,大部分页面由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