协调器布局自定义滚动行为

时间:2018-04-29 14:41:38

标签: android android-softkeyboard android-coordinatorlayout custom-scrolling

我有一个布局,当用户在屏幕上滚动时,我使用协调器布局将appbarlayout折叠到工具栏。

默认行为非常准确,但是当用户点击编辑文本字段时出现问题,一旦软键盘显示,屏幕被向上推(我使用标记“调整我的活动调整大小”)和appbar布局离开了屏幕。

我想要达到的目标是:

  • 用户滚动时将appbar布局折叠到工具栏(我已实现此功能)

  • 只要显示软键盘,
  • 就会将appbar布局折叠到工具栏。

这可能吗?

最好的问候。

1 个答案:

答案 0 :(得分:2)

如果您想在显示AppBarLayout时展开Soft Keyboard,则可以按以下两个步骤操作:

1-使用此库检测软键盘可见性事件:     https://github.com/yshrsmz/KeyboardVisibilityEvent

2-当软键盘打开时,使用此方法折叠AppBarLayout

appBarLayout.setExpanded(false);

示例:

KeyboardVisibilityEvent.setEventListener(
    getActivity(),//Or context
    new KeyboardVisibilityEventListener() {
        @Override
        public void onVisibilityChanged(boolean isOpen) {
            if(isOpen){
                appBarLayout.setExpanded(false);
            }
        }
    });