【问题标题】:Android: how to Capture the keyboard dismiss event, not a Back KeyAndroid:如何捕获键盘关闭事件,而不是返回键
【发布时间】:2015-11-16 20:17:00
【问题描述】:

在单击向下键时,是否要捕获键盘隐藏事件?

我在过去两个小时内阅读了很多帖子,但找不到答案。

向下键如下图所示。

【问题讨论】:

    标签: android keyboard hide


    【解决方案1】:

    为您的活动的根视图指定一个已知 ID,例如 @+id/activityRoot,将 GlobalLayoutListener 挂钩到 ViewTreeObserver,然后从那里计算活动的视图根和窗口大小之间的大小差异:

    final View activityRootView = findViewById(R.id.activityRoot);
    activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
            if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
                ... do something here
            }
         }
    });
    

    注意:您的应用程序必须在 Android Manifest android:windowSoftInputMode="adjustResize" 中设置此标志,否则上述解决方案将不起作用。

    【讨论】:

    • 还有什么可以听Down键的按钮吗?
    • 我不想使用 adjustResize,因为它会改变 UI。
    猜你喜欢
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多