0I'm using startActionMode(ActionMode) on my app.
By default it's add a "Done" button on the bar, I want to remove it.
Also, if there's a way to change it's text, I want to know too, cause a different description than "Done" can make the action be correspondent to the behaviour of what it does.
I agree with @CommonsWare that it is invalid design to hide the Done button.
However, there are customers that want to have this button removed and I can understand that the checkmark may cause confusion to users because it actually does nothing in some cases.
So, here is how to remove the button with styles:
<style name="AppTheme" parent="android:Theme.Holo"> <item name="android:actionModeCloseButtonStyle">@style/NoCloseButton</item> </style> <style name="NoCloseButton" parent="@android:style/Widget.ActionButton.CloseMode"> <item name="android:visibility">gone</item> </style>
If you are using ActionBarSherlock you can hide the "Done" button with this style:
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="NoCloseButton" parent="@style/Widget.Sherlock.ActionButton.CloseMode"> <item name="android:visibility">gone</item> </style> <style name="AppBaseTheme" parent="Theme.Sherlock.Light.DarkActionBar"> <item name="actionModeCloseButtonStyle">@style/NoCloseButton</item> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> </style> </resources>
Please make sure to put this style in each style directory (values, value-v11, values-v14). After that you can create a custom menu with this code:
LayoutInflater inflater = LayoutInflater.from(getSherlockActivity()); View actionView = inflater.inflate(R.layout.actionmode, null); ActionMode am = getSherlockActivity().startActionMode(mActionModeCallback); am.setCustomView(actionView);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With