在你的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