<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!--ActionMode出现时直接覆盖ActionBar 设置false ActionBar弹出时会把ActionBar下移 默认ActionMode是没有阴影的 可以手动添加elevation 但如果ActioBar也有阴影 覆盖时就会有两层阴影--> <item name="windowActionModeOverlay">true</item> <!--ActiconBar 白色主题 白色的字体和图标--> <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> <!--ActionMode样式--> <item name="actionModeStyle">@style/MyActionMode</item> </style>
可以为ActionMode单独设置elevation
<style name="MyActionMode" parent="@style/Widget.AppCompat.ActionMode"> <item name="background">@color/base</item> <item name="android:elevation">@dimen/elevation</item> </style>
在代码里可以同样实现 ActionMode出现时直接覆盖ActionBar
@Override public void onSupportActionModeStarted(ActionMode mode) { super.onSupportActionModeStarted(mode); this.mToolbar.setVisibility(View.GONE); } @Override public void onSupportActionModeFinished(ActionMode mode) { super.onSupportActionModeFinished(mode); this.mToolbar.setVisibility(View.VISIBLE); }