我已经尝试了很多关于此的建议,但似乎没有任何效果。当我长按ListView中的项目时,我希望有一个上下文操作栏覆盖工具栏,但它总是将其向下推并将CAB置于其上方。
这是我的代码:
styles.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
MyApp.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
final ListView listv = (ListView) findViewById(R.id.main_list);
registerForContextMenu(listv);
listv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listv.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
toolbar.inflateMenu(R.menu.menu_main_contextual);
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
toolbar.inflateMenu(R.menu.menu_main);
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
//getMenuInflater().inflate(R.menu.menu_main_contextual, menu);
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.action_delete:
//delete
return true;
default:
return false;
}
}
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
// TODO Auto-generated method stub
}
});
我已添加
<item name="windowActionModeOverlay">true</item>
到我的主题,但那不起作用。
也没有<item name="android:windowActionModeOverlay">true</item>
我甚至尝试过改变主题,但这也没有用。
对此的任何帮助都会很棒!我一直试图解决这个问题。