Android 如何使上下文操作模式栏覆盖我的布局,而不是;推;把它放下

Android 如何使上下文操作模式栏覆盖我的布局,而不是;推;把它放下,android,android-actionmode,Android,Android Actionmode,我已经为我的应用程序实现了自己的视图组。由于各种原因,使用actionbar不是一个选项,因此在我的视图组中,我有自己的“actionbars”,一个在顶部,一个在底部。图1显示了我当前的布局 如您所见,布局中有两个编辑文本,所有内容看起来都正常 但是,当用户在任何编辑文本中选择某些文本时,会显示上下文操作模式栏。图2说明了这一点 当这种情况发生时,actionmode栏会“推”下我的整个布局以获得空间。在平板电脑和其他大屏幕设备中,这是可以的,但在较小的设备中,尤其是在软键盘可见的情况下,

我已经为我的应用程序实现了自己的视图组。由于各种原因,使用actionbar不是一个选项,因此在我的视图组中,我有自己的“actionbars”,一个在顶部,一个在底部。图1显示了我当前的布局

如您所见,布局中有两个编辑文本,所有内容看起来都正常

但是,当用户在任何编辑文本中选择某些文本时,会显示上下文操作模式栏。图2说明了这一点

当这种情况发生时,actionmode栏会“推”下我的整个布局以获得空间。在平板电脑和其他大屏幕设备中,这是可以的,但在较小的设备中,尤其是在软键盘可见的情况下,剩余高度太小(横向方向无法使用)

我想做的是操作模式栏覆盖我的布局,而不是按下它,如图3所示


这可能吗?

只需将
true
添加到您的样式中。

要将
windowActionModeOverlay
与appcompat工具栏一起使用,请使用

<item name="windowActionModeOverlay">true</item>  
true

根据您的风格。

这也可以通过以下方式以编程方式完成:

 getWindow().requestFeature(Window.FEATURE_ACTION_MODE_OVERLAY);

O.M.G.这张是“怎么会有人错过这个?”。工作很有魅力,非常感谢!!!我没有为自己工作。我正在使用“Theme.AppCompat.Light.NoActionBar”和一个工具栏。我有同样的问题,但这个答案没有帮助。我有一个列表视图,当用户选择一个项目时,我会显示cab(上下文操作栏)。因此,如果我选择列表中的第一个项目i,将显示cab并选中项目s复选框,但视图将向上推。列表的最后一页将可见,我必须向上滚动才能看到选中的第一项。进一步选择项目不会推送视图,因为cab已经存在。伙计们,它对我也不起作用,直到我注意到我在API 23上测试,并且我在
values
中设置了它,而不是在
values-21
中设置了它。@user987760如果与AppCompatActivity一起使用,你应该使用
true
(无
android:
前缀)也许这应该成为公认的答案。当我在13年发布最初的答案时,我甚至不认为AppCompat是件好事。