协调器布局自定义滚动行为
coordinator layout custom scroll behavior
我有一个布局,当用户在屏幕上滚动时,我使用协调器布局将 appbarlayout 折叠到工具栏。
默认行为非常准确,但是当用户单击编辑文本字段时会出现问题,一旦出现软键盘,屏幕就会向上推(我在 [=30= 上使用标志“调整大小” ]) 并且应用栏布局不在屏幕上。
我想要实现的是:
当用户滚动时将应用栏布局折叠到工具栏(我已经实现了这个)
每当显示软键盘时,将应用栏布局折叠到工具栏。
这可能吗?
此致。
如果要在显示Soft Keyboard
时折叠AppBarLayout
,可以按照以下两个步骤操作:
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);
}
}
});
我有一个布局,当用户在屏幕上滚动时,我使用协调器布局将 appbarlayout 折叠到工具栏。
默认行为非常准确,但是当用户单击编辑文本字段时会出现问题,一旦出现软键盘,屏幕就会向上推(我在 [=30= 上使用标志“调整大小” ]) 并且应用栏布局不在屏幕上。
我想要实现的是:
当用户滚动时将应用栏布局折叠到工具栏(我已经实现了这个)
每当显示软键盘时,将应用栏布局折叠到工具栏。
这可能吗?
此致。
如果要在显示Soft Keyboard
时折叠AppBarLayout
,可以按照以下两个步骤操作:
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);
}
}
});