樱花1998 2019-03-04 10:09 采纳率: 0%
浏览 814

android8.0系统下,如何在外接物理键盘的时候,软键盘也是可用的呢?

android8.0系统下,基于Openwnn的输入法,如何在外接物理键盘的时候,软键盘也是可用的呢?5.0系统可用弹出来,现在8.0系统是弹不出来?有什么解决方案吗

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-08 04:00
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Android 8.0系统中,外接物理键盘时,如果想要保持软键盘的状态不变,可以尝试以下几种方法:

    1. 使用手势输入:在输入文本的过程中,可以通过滑动屏幕来切换软键盘和物理键盘。

    2. 设置软键盘状态:可以在布局文件中设置一个按钮或者滑块,当用户点击或拖拽这个元素时,可以切换软键盘和物理键盘的状态。例如,在layout.xml文件中添加以下代码:

    <Button
        android:id="@+id/switch_keyboard"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Switch Keyboard"
        android:layout_gravity="center_horizontal" />
    
    1. 在Activity或Fragment中使用InputMethodManager进行操作:通过调用InputMethodManager#hideSoftInputFromWindow()方法隐藏软键盘,并调用InputMethodManager#showSoftInputFromWindow()方法显示软键盘。例如:
    private InputMethodManager mIm;
    public void hideSoftKeyboard() {
        if (mIm == null) {
            mIm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        }
        mIm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        // 其他代码...
    }
    
    1. 使用第三方库:如果你的应用支持手势输入或其他特殊功能,你可能需要考虑使用第三方库,如Xposed框架等,这些库可以帮助你在不修改源码的情况下实现一些特定的功能。

    请注意,上述建议适用于Android 8.0及其更高版本。对于更早版本的Android系统,可能需要采用不同的策略来解决软键盘的问题。

    评论

报告相同问题?