AppCompat - Activity.startSupportActionMode不适用于ICS之前的设备

时间:2016-06-15 12:19:48

标签: android

这就是Android 4.4的外观: enter image description here

在Android 3.2中,它看起来像这样: enter image description here

这两个按钮在3.2中工作,但没有出现。

我尝试在我的主题中将actionModeBackground设置为@android:color / white,但ActionMode中没有任何变化。

我的代码:

startSupportActionMode(new android.support.v7.view.ActionMode.Callback(){
    @Override
    public boolean onCreateActionMode(android.support.v7.view.ActionMode mode, Menu menu) {
        MenuInflater inflater = mode.getMenuInflater();
        inflater.inflate(R.menu.action_mode_test, menu);
        return true;
    }
    @Override
    public boolean onPrepareActionMode(android.support.v7.view.ActionMode mode, Menu menu) {
        mode.setTitle("testTitle");
        return true;
    }
    @Override
    public boolean onActionItemClicked(android.support.v7.view.ActionMode mode, MenuItem item) {
        return false;
    }
    @Override
    public void onDestroyActionMode(android.support.v7.view.ActionMode mode) {}
});

R.menu.action_mode_test:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:compat="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/menu_btn1"
        compat:showAsAction="always"
        android:title="Btn1"/>
    <item
        android:id="@+id/menu_btn2"
        compat:showAsAction="ifRoom"
        android:title="Btn2"/>

</menu>

活跃主题:

<style name="MyStyle" parent="Theme.AppCompat.Light.DarkActionBar">
</style>

1 个答案:

答案 0 :(得分:0)

通过更改为AppCompat工具栏解决。