ActionBar 默认颜色

4
我正在使用操作栏作为屏幕顶部,并在那里放置了按钮。我想在底部添加另一系列按钮,但由于控件太多无法适应操作栏,因此我正在创建自定义视图和布局。我试图匹配操作栏的颜色方案,但我无法弄清楚Android.R.Color的默认值是什么。
我已经按照所示设置了自定义视图的布局。似乎没有内置的light_gray颜色,也没有任何指示菜单或操作栏默认颜色的内容。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="@android:color/darker_gray" />
   <stroke android:width="1dip" android:color="#333333"/>
</shape>

Screenshot of difference between top and bottom


@Stealth,你能把主要的actionBar图标缩放成矩形吗?如果可以,你是怎么做到的?请回复,我非常需要。 - Ashish Sharma
@XeeMezAsHu,我真的不知道你在说什么。操作栏是矩形的,没错。我没有做任何特殊的缩放/重塑操作。它就是一个矩形。 - Stealth Rabbi
请再仔细阅读,我并没有要求actionBar(当然它是矩形的),而是要求'actionBar_Icon'(应用程序图标或ic_launcher.PNG)。我希望它像您在图像中突出显示的那样是矩形的。 - Ashish Sharma
我真的不知道你所说的“操作栏图标”是什么意思。在这张截图中,我已经用红色/橙色框遮盖了操作栏上的信息。被遮盖的区域包括位于左上角的文本和正方形图标(应用程序图标)。 - Stealth Rabbi
2个回答

6
你可以查看Android SDK平台文件夹中的styles.xml来检查所有样式。例如,对于API级别16,你可以在以下路径找到:<your-sdk-dir>/platforms/android-16/data/res/values/styles.xml。浏览这个文件,你会看到以下内容:
<style name="Widget.ActionBar">
    <item name="android:background">@android:drawable/action_bar_background</item>
    ...

如果该资源不是公共资源,那么您最好将操作栏背景和页脚背景设置为您定义的颜色。您可以通过在styles.xml中创建主题并覆盖操作栏样式来实现这一点。

<style name="Theme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBar</item>
</style>

现在创建实际的操作栏样式,
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/my_background</item>
</style>

现在将这个样式分配给您的应用程序。
<application
    ...   
    android:theme="@style/Theme" >
...

我看到了你指定的styles.xml文件。但由于该资源不是公共的,似乎无法将我的控件布局设置为这个样式。 - Stealth Rabbi

0

我发现自己在xml文件中寻找颜色值。但是我找不到它。最后,最愚蠢的想法却是最好的:

在模拟器上截图,然后在gimp中使用取色器。这正好匹配了我一直在寻找的颜色。

对我来说,这个答案真的很愚蠢。然而,在一天结束时,我能够非常快速地找到值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接