如何自定义动作模式的颜色和文字?

Zso*_*agy 23 android android-3.0-honeycomb android-actionbar android-actionmode

默认操作模式(3.0及更高版本)左侧带有绿色主题和"完成"按钮.我该如何定制这些?

谢谢

adn*_*eal 33

这是用于任何ActionMode的样式,我从SDK中取出它.您需要创建自己的样式来自定义它.这很容易做到.如果您之前从未做过这样的事情,那么您应该阅读这篇关于自定义ActionBar的帖子.它解释了您需要知道的一切.

    <style name="Widget.ActionMode">
    <item name="android:background">?android:attr/actionModeBackground</item>
    <item name="android:backgroundSplit">?android:attr/actionModeSplitBackground</item>
    <item name="android:height">?android:attr/actionBarSize</item>
    <item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Title</item>
    <item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Subtitle</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

  • 你能告诉我如何在应用主题中使用它吗?我的style.xml:http://pastie.org/9261136 (3认同)

小智 23

解决我的应用程序

<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionModeBackground">@color/bg_action_bar</item>
</style>
Run Code Online (Sandbox Code Playgroud)


Min*_*esh 11

使用此代码,您可以更改操作模式的背景颜色,还可以更改完成图像.注意:您也可以在图片中添加文字!在res/styles.xml中:

<style name="AppTheme" parent="android:Theme.Holo">
<item name="android:actionModeBackground">@android:color/white</item>
<item name="android:actionModeCloseDrawable">@drawable/plus</item>
Run Code Online (Sandbox Code Playgroud)


Jac*_*ham 9

在我的项目上工作

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="actionModeStyle">@style/CustomActionModeStyle</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

自定义ActionMode样式

<style name="CustomActionModeStyle" parent="Base.Widget.AppCompat.ActionMode">
        <item name="background">@color/color_primary</item>
        <item name="titleTextStyle">@style/CustomeActionModeTextStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)

自定义标题ActionMode

<style name="CustomeActionModeTextStyle" parent="TextAppearance.AppCompat.Widget.ActionMode.Title">
    <item name="android:textSize">16sp</item>
    <item name="android:textColor">@color/color_primaryText</item>
</style>
Run Code Online (Sandbox Code Playgroud)