今天遇到一个问题,就是软件盘弹出来以后,会把之前的布局界面整个的挤到屏幕的外面,而且按下返回建以后,这个软件盘占据的空间会留下一个黑色的背景。在网上查找了很多的方法,刚开始都是说,如下方法

 <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中没有作用,现在还不知道

最新文章

  1. jQuery获取输入框并设置焦点
  2. 为SharePoint Server 2013 建立搜索爬行
  3. BitmapFactory
  4. ConcurrentHashMap-----不安全线程hashmap-安全线程-hashtable
  5. DOCTYPE 中xhtml 1.0和 html 4.01区别分析
  6. Word2013对公式处理:样式、自动编号、交叉引用
  7. delphi常用函数
  8. Node.js也分裂了-开源社区动态
  9. Unity3d Shader开发(三)Pass(Color, Material, Lighting )
  10. C++反汇编第二讲,不同作用域下的构造和析构的识别
  11. 在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?
  12. 刀片服务器和磁盘阵列卡(RAID)技术---永和维护
  13. 用SpriteBuilder简化&quot;耕牛遍地走&quot;的动画效果(三)
  14. [LOJ2310][APIO2017]斑斓之地——可持久化线段树
  15. C++ 标准 和 C 标准 (截止到2019年03月)
  16. 挂载KVM Guest操作系统磁盘
  17. 面试(I)
  18. dpkg打包与解包
  19. Linux安装R记要
  20. Spark LogisticRegression 逻辑回归之简介

热门文章

  1. ArcGIS api for javascript——渲染-计算相等间隔分级
  2. Qt之图形(绘制文本)
  3. WAS集群系列(5):集群搭建:步骤3:安装IHS软件
  4. 《AndroidStudio每日一贴》7. 怎样将本地变更文件移到其他的changelist?
  5. vue4 属性 class style
  6. thinkphp5项目--企业单车网站(三)
  7. javascript 左侧菜单
  8. jquery ajax中支持哪些返回类型以及js中判断一个类型常用的方法?
  9. Zuul 2 : The Netflix Journey to Asynchronous, Non-Blocking Systems--转
  10. Flex XML/XMLList 常用操作