Android 上下文操作栏不覆盖我的工具栏
我已经创建了一个活动,并将工具栏设置为操作栏,我将其放置在底部 在该活动中,我有一个包含一些数据的listview 问题是,当我长按列表项时,上下文操作栏显示在顶部,而不是覆盖位于底部的工具栏 我的活动主题Android 上下文操作栏不覆盖我的工具栏,android,android-listview,android-actionbar,android-toolbar,Android,Android Listview,Android Actionbar,Android Toolbar,我已经创建了一个活动,并将工具栏设置为操作栏,我将其放置在底部 在该活动中,我有一个包含一些数据的listview 问题是,当我长按列表项时,上下文操作栏显示在顶部,而不是覆盖位于底部的工具栏 我的活动主题 <?xml version="1.0" encoding="utf-8"?> <resources> <!-- Base application theme. --> <style name="myActivityTheme" parent="The
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<style name="myActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="android:windowActionModeOverlay">true</item>
</style>
我应该怎么做才能使CAB覆盖我的工具栏
编辑
这是类中处理长时间单击的onCreateActionMode
方法
private class Selector implements AbsListView.MultiChoiceModeListener{
@Override
public boolean onCreateActionMode(android.view.ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.my_activity_menu,menu);
toolbar.setVisibility(View.VISIBLE);
return true;
}
你可以试试这个主题,这可能会解决你的问题
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
真的
假的
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
如果希望上下文操作栏
与工具栏
重叠,请使用此选项
<item name="windowActionModeOverlay">true</item>
true
而不是
<item name="android:windowActionModeOverlay">true</item>
true
@彩色/彩色原色
@颜色/原色\u深色
@颜色/颜色口音
@style/AppCompatiAlertDialogStyle
真的
**真的**
使用
这对我来说很有效
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionModeOverlay">true</item>
</style>
真的
假的
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
真的
由于我的工具栏位于活动的底部,所以解决方案是制作我自己的上下文操作栏来覆盖它
下面这个项目给了我一个良好的开端
我甚至尝试过删除android名称空间
,但它仍然出现在顶部,而不是在底部覆盖我的工具栏。您的编辑正是我在问题中使用的,仍然存在问题。在编辑中没有父主题不同。它是Theme.AppCompat.NoActionBar而不是Theme.AppCompat.Light.NoActionBar,并且还需要删除False。请通过扩展AppCompatActivity而不是ActionBarActivity进行检查。它完全解决了我的问题。我将android:windowActionModeOverlay删除为windowActionModeOverlay,非常感谢这并没有解决问题。它只会更改CAB的主题/样式,但不会将其移动到我的工具栏所在的底部。为什么您要使用toolbar.setVisibility(View.VISIBLE);?以onCreateActionMode显示工具栏??你需要把它去掉line@RajeshJadav我只希望长按列表项时工具栏(现在是我的actionbar)可见。然后我将其设置为不可见
,当一个操作被执行时,实际上您不需要这样做。当您使用windowActionModeOverlay时,设置为true。上下文操作栏取代了工具栏,但您正在onCreateActionMode中显示工具栏,这不是必需的。当您单击上下文操作栏中的“完成”按钮时,工具栏将自动替换上下文actionbar@RajeshJadav我不知道为什么这辆出租车还认为我的顶部有一个actionbar!想象一下,即使删除了工具栏.setVisiblity
行。它仍然显示在我活动的顶部
<item name="android:windowActionModeOverlay">true</item>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_primary_dark</item>
<item name="colorAccent">@color/color_accent</item>
<item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
<!-- required for toolbar in prelolipop -->
<item name="android:windowNoTitle">true</item>
**<item name="windowActionModeOverlay">true</item>**
</style>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionModeOverlay">true</item>
</style>