代码之家  ›  专栏  ›  技术社区  ›  Ashok Varma

如何更改复制文本时出现的文本选择工具栏颜色?

  •  14
  • Ashok Varma  · 技术社区  · 10 年前

    我正在开发一个应用程序,我为TextViews设置了“android:textIsSelectable”。

    但我的材质主题与TextSelection appBar不匹配。有什么方法可以改变appBar的颜色吗??

    附上下图检查:-

    enter image description here

    2 回复  |  直到 10 年前
        1
  •  32
  •   Eugen Pechanec    10 年前

    假设您使用 appcompat-v7 库将这些添加到主题中:¨

    <!-- this makes sure the action mode is painted over not above the action bar -->
    <item name="windowActionModeOverlay">true</item>
    <item name="actionModeBackground">@drawable/myapp_action_mode_background</item>
    

    现在我无法设置动作模式的内部样式(文本颜色、图标颜色),所以希望您不需要这样做。

    注意:如果不使用支持库,请在样式项名称前加上 android: 。这些将在API 11+以上工作。

    编辑

    对于带有笔划的动作模式背景,创建一个新的可绘制图形并更新参考。抽屉可能是这样的:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:top="-2dp" android:left="-2dp" android:right="-2dp">
        <shape android:shape="rectangle">
          <solid android:color="@color/primary_dark"/>
          <stroke android:color="@color/accent" android:width="2dp"/>
        </shape>
      </item>
    </layer-list>
    
        2
  •  5
  •   user3956566 user3956566    10 年前

    在资源styles.xml中: "android:textColorHighlight"

    <resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
       <item name="android:textColorHighlight">@color/yellow</item>
    </style>
    </resources>
    

    你可以选择任何颜色,也可以使用任何父主题。