zoukankan      html  css  js  c++  java
  • 安卓应用如何在整个应用运行期间都禁止弹出输入法面板?

    在你的Activity的onCreate函数中添加如下代码即可完全禁用软键盘:

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
                    WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

    所以,你想全局生效的话,可以写一个基类,例如:

    public abstract class BaseNoIMActivity extends AppCompatActivity {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
                    WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
            onCreateStarted(savedInstanceState);
        }
    
        protected abstract void onCreateStarted(@Nullable Bundle savedInstanceState);
    }

    然后任意个Activity都继承它,如果你的项目已经有基类,那么把上面的代码插入到基类中即可,demo示例:

    public class TestActivity extends BaseNoIMActivity {//继承基类
    
        @Override
        protected void onCreateStarted(@Nullable Bundle savedInstanceState) {
            setContentView(R.layout.activity_test);
            Log.e("test","TestActivity is started");
        }
    }

    引用自:https://segmentfault.com/q/1010000008489927/a-1020000008490261/revision

  • 相关阅读:
    【APUE】一个fork的面试题及字符设备、块设备的区别
    【stl学习笔记】set、multiset
    【stl学习笔记】红黑树
    颜色
    Android之ActionBar与菜单
    Listview不显示的问题学习
    IM学习过程
    android filter
    sort()排序 collections.sort();
    notification使用
  • 原文地址:https://www.cnblogs.com/linfenghp/p/7874768.html
Copyright © 2011-2022 走看看