softInputMode- 软件盘的设置
2015-01-16 10:02
260 查看
今天遇到一个问题,就是软件盘弹出来以后,会把之前的布局界面整个的挤到屏幕的外面,而且按下返回建以后,这个软件盘占据的空间会留下一个黑色的背景。在网上查找了很多的方法,刚开始都是说,如下方法
<activity android:label="@string/app_name" android:theme="@style/ComposeTheme" android:name="com.android.email.activity.ComposeActivityEmail" android:windowSoftInputMode="adjustPan" android:configChanges="keyboard|keyboardHidden|fontScale|orientation|screenSize">
android:windowSoftInputMode="adjustPan"这个属性就是设置软件盘的,他的值有9个,具体怎么使用,以后用到了再说,不过,它并没有解决我的问题 后来同事给我说了个方法,成功解决。就是在弹出软件盘所在的activity中,加入一个代码就行了
import android.view.WindowManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.email_vip_activity); /* Vanzo:zhangshuli on: Thu, 15 Jan 2015 21:26:00 +0000 */ getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE_FULLSCREEN);//这一句是关键 // End of Vanzo: zhangshuli Intent i = getIntent(); mAccountId = i.getLongExtra(ACCOUNT_ID, -1); if (savedInstanceState == null && mAccountId != -1) { // First-time init; create fragment to embed in activity. FragmentTransaction ft = getFragmentManager().beginTransaction(); Fragment newFragment = VipListFragment.newInstance(mAccountId); ft.add(R.id.fragment_placeholder, newFragment); ft.commit(); } mActionBar = getActionBar(); // Configure action bar. mActionBar.setDisplayOptions( ActionBar.DISPLAY_HOME_AS_UP, ActionBar.DISPLAY_HOME_AS_UP); mActionBar.setDisplayShowCustomEnabled(true); mActionBar.setDisplayShowTitleEnabled(false); // Prepare the custom view mActionBar.setCustomView(R.layout.vip_actionbar_custom_view); mActionBarCustomView = (ViewGroup) mActionBar.getCustomView(); mVipMembers = (TextView)mActionBarCustomView.findViewById(R.id.vip_member); /** * M: When all accounts has been deleted, the vip list activity will be * finished and login page will be displayed. @{ */ if (mAccountObserver == null) { mAccountObserver = new AccountContentObserver(null, this); } getContentResolver().registerContentObserver(Account.NOTIFIER_URI, true, mAccountObserver); /** @} */ }
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE_FULLSCREEN);//这一句是关键 完美解决了问题。至于为什么加载AndoridManifest.xml中没有作用,现在还不知道
相关文章推荐
- Java代码动态设置SoftInputMode,友好进行底部界面呈现
- softInputMode- 软件盘监听事件
- android:windowsSoftInputMode=""详解
- 弹出键盘windowsoftinputmode属性设置值
- Android SoftInputMode为SOFT_INPUT_ADJUST_RESIZE(adjustResize)时没有resize动画的问题
- android:windowSoftInputMode(软键盘设置)
- Android SoftInputModes设置
- windowSoftInputMode属性设置值
- Android中软件盘windowSoftInputMode属性详解
- windowSoftInputMode属性介绍及设置adjustResize不起作用的解决方案
- Android使用ActivityGroup设置android:windowSoftInputMode失效的问题
- 安卓开发中将activity设成translucent导致输入法遮挡edittext,windowSoftInputMode设置无效问题
- windows 7 使用***软件设置(图解) Shrew Soft *** Access Manager
- android软键盘把布局顶上去,在AndroidManiFest.xml设置windowSoftInputMode没有效果的问题解决
- 关于WindowManager.LayoutParams包含的Window flag、softInputMode、changed系列变量的资料
- Android 弹出软键盘android:windowSoftInputMode设置总结
- 关于windowSoftInputMode设置
- 关于 android:windowSoftInputMode 的设置
- Android使用ActivityGroup设置android:windowSoftInputMode失效的问题
- windowSoftInputMode属性设置值