zoukankan      html  css  js  c++  java
  • softInputMode- 软件盘的设置

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

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



  • 相关阅读:
    python tkinter坐标转换
    python tkinter画圆
    打开pycharm提示python已停止工作
    关于python读写文件的r+方式的坑
    pycharm的一个bug,pycharm 在debug时,会运行项目下的所有文件,而不是当前文件
    python tkinter实时显示曲线
    书上关于*(p++)表达式的几种变形形式的思考题
    lua 中的 loadfile、dofile和require的调用
    css控制字体线使用:text-decoration
    devpi 快速入门:上传,测试,推送发行版
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_softkey_15011610.html
Copyright © 2011-2022 走看看