我们如何在Android上下文操作栏中显示后退按钮而不是完成(选中标记)按钮

Var*_*tia 5 android android-actionbar contextual-action-bar android-cab

我默认得到这个 在此输入图像描述

我要这个

在此输入图像描述

这应该是微不足道的,但我找不到任何与Android文档相关的内容.

private void setupContextualBar()
    {
        mActionModeCallback = new ActionMode.Callback()
        {
            // Called when the action mode is created; startActionMode() was called
            @Override
            public boolean onCreateActionMode(ActionMode mode, Menu menu) 
            {
                MenuInflater inflater = getActivity().getMenuInflater();
                inflater.inflate(R.menu.my_menu , menu);
                mCABMenu = menu;
                return true;
            }

            // Called each time the action mode is shown. Always called after onCreateActionMode, but
            // may be called multiple times if the mode is invalidated.
            @Override
            public boolean onPrepareActionMode(ActionMode mode, Menu menu) 
            {
                updateContextualBar();
                return true;
            }

            // Called when the user selects a contextual menu item
            @Override
            public boolean onActionItemClicked(ActionMode mode, MenuItem item) 
            {
                int menuItemId = item.getItemId();
                boolean eventConsumed = false;
                switch (menuItemId)
                {
                     //handle cases here
                }
                if (eventConsumed)
                {
                     updateContextualBar();
                }
                return eventConsumed;
            }

            // Called when the user exits the action mode
            @Override
            public void onDestroyActionMode(ActionMode mode) 
            {
                mActionMode = null;
            }
        };
Run Code Online (Sandbox Code Playgroud)

Ste*_*e B 10

您可以使用与活动关联的自定义主题更改此按钮图像,如下所示:

<style name="MyCustomTheme" parent="MyUsualTheme">
    <item name="android:actionModeCloseDrawable">@drawable/myBackDrawable</item>
</style>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml中:

 <activity
        android:name="MyActivity"
        android:theme="@style/MyCustomTheme"
  ...
Run Code Online (Sandbox Code Playgroud)

我已经研究过,但没有找到以编程方式更改action_mode_close_button的方法(有些黑客尝试这样做,但它们有严重的潜在副作用).似乎唯一可靠/安全的方式来改变这个图像是通过主题变化.