Android上部复制/粘贴工具栏

时间:2014-12-02 23:39:00

标签: android android-layout android-activity android-theme android-actionbaractivity

我需要您的帮助以解决android dev中的以下问题。 出于某种原因,当我扩展ActioBarActivity时,按下EditText组件时,剪切/复制/粘贴按钮会正确显示(参见图1)。

enter image description here

不幸的是,如果我扩展Activity,则工具栏无法正确显示。您可以在图像2上看到按钮存在,但它们是白色的,用户无法看到它们。我已经调查过,但我不确定如何解决这个问题。

enter image description here

如果您需要,我可以分享代码,但我认为这可以轻松复制。

提前致谢。

2 个答案:

答案 0 :(得分:8)

尝试在app主题的定义中使用它:

<item name="actionModeBackground">@color/actionBarBgColor</item>

答案 1 :(得分:3)

创建自定义样式并指定所需颜色的背景,并在主题xml资源文件中,在“style”元素之间,将“android:actionBarStyle”设置为刚刚创建的自定义样式,它将会为您更改操作栏颜色。

更新:我刚刚使用我的主题资源的默认文件夹(注意:文件名是任意的),如果要为v-11(API级别11)创建主题资源,请创建新的主题资源文件名(文件名是任意的),文件名后加“-v11”。

Folder structure

这是默认的主题资源文件,因为它继承了Theme.AppCompat.Light.DarkActionBar的属性和属性,您可以注意到,在此文件中,您不能使用“android”命名空间。如果您有另一个主题资源文件,如上图所示,Android Studio会自动创建适用于Android 21及更高版本设备的stylex.xml(v21)。您必须将“android”命名空间添加到每个属性,例如actionBarStyle将成为android:actionBarStyle,但您现在应该已经弃用了自版本21,API级别5以来的ActionBar。

此外,displayOptions属性告诉Android如何显示标题区域。这些是可用的值:

  1. useLogo
  2. showHome
  3. homeAsUp
  4. showTitle
  5. showCustom
  6. disableHome
  7. 注意:background属性仅接受参考值,而不是硬编码值。

    The default theme resource file

    结果如下

    Final result