4

我需要您的帮助,以解决Android开发中的以下问题。 由于某些原因,当我扩展ActioBarActivity时,当按下EditText组件时(见图1),剪切/复制/粘贴按钮将正确显示。Android上复制/粘贴工具栏

enter image description here

不幸的是,如果我延长活动时,无法正确显示的工具栏。您可以在图像2上看到按钮存在,但它们是白色的,用户看不到它们。我已经调查,但我不知道如何解决这个问题。

enter image description here

如果你需要我可以共享代码,但我认为这是可以很容易地复制。

在此先感谢。

保罗

回答

3

创建一个自定义样式和指定背景到你想要的颜色,并在主题XML资源文件中,“样式”元素之间,设置了“机器人: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

而且过时,在displayOptions属性告诉Android关于如何显示标题区域。这是速效值:

  1. 没有
  2. useLogo
  3. showHome
  4. homeAsUp
  5. showTitle
  6. showCustom
  7. disableHome

注:background ATTR ibute只接受参考值,而不是硬编码值。

The default theme resource file

下面是结果

Final result

+0

你能提供的代码示例? – Paul 2014-12-03 03:47:11

+1

嘿,对于模糊的答案抱歉,请参阅我上面的修订版本。 – Biu 2014-12-03 05:50:50

+0

这是一个很好的回答,真正帮助我了解有关Android主题的不同内容。这里的问题是,基本上我没有一个actionBar(我在扩展活动),我需要在剪切/复制/粘贴工具栏上应用样式,这个样式只有当我长按EditText框并选择其中的文本。你有什么想法吗? – Paul 2014-12-04 03:15:54

8

尝试在你的应用程序的主题定义使用这样的:

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